【问题标题】:Cannot connect to local SQL Server 2012 via SSMS无法通过 SSMS 连接到本地 SQL Server 2012
【发布时间】:2016-02-26 14:46:21
【问题描述】:

我正在尝试通过 SSMS 连接到我的本地 SQL Server 2012,但我没有成功。我收到错误消息:

无法连接到 EB-OR1007724。

其他信息:
登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。 (Microsoft SQL Server,错误:18452)

请注意,我使用的公司计算机有很多限制。在尝试了几件事后,我仍然没有成功。

检查服务正在运行。所有相关的 SQL Server 服务都使用Local System 作为登录来运行。他们是

  • SQL 全文过滤守护程序启动器 (MSSQLSERVER),已启动 (PID=2100)
  • SQL Server (MSSQLSERVER),已启动 (PID=2424)
  • SQL Server 代理 (MSSQLSERVER),已启动 (PID=320)
  • SQL Server 浏览器,已启动 (PID=4376)

检查端口状态。端口:1434被localhost 127.0.0.1监听。

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\xxxxxxxx>netstat -ano
Active Connections

  Proto  Local Address          Foreign Address        State           PID
  ...
  TCP    127.0.0.1:1434         0.0.0.0:0              LISTENING       2424
  TCP    [::1]:1434             [::]:0                 LISTENING       2424
  UDP    0.0.0.0:1434           *:*                                    3080                                1016
  UDP    [::]:1434              *:*                                    3080

检查防火墙角色。我创建了一个入站规则,允许 TCP 连接到端口 :1433:1434,任何人都可以访问所有连接。

检查主机配置。主机配置文件hosts 已修改为将 127.0.0.1 标识为 localhost。该文件位于文件夹C:\Windows\System32\drivers\etc

检查其他 SQL Server 服务的可用性。我可以使用我的 Windows 身份验证连接到本地 SSAS 服务。

检查 AD 服务器状态。该问题可能是由关闭的 Active Directory 服务器引起的。尽管由于公司政策我无法访问Active Directory Domains and trusts,但我确信 AD 服务器可以正常工作,因为我可以使用我的 Windows 身份验证连接到本地 SSAS 服务。

检查实例名称。如您所见,该实例称为MSSQLSERVER,所以当我通过 SSMS 连接时,也许我应该明确提及它?这些是我在Server name 中尝试过的:

  • EB-OR1007724,错误 18452
  • EB-OR1007724\,错误 18452
  • EB-OR1007724\MSSQLSERVER,错误 87
  • .\MSSQLSERVER,错误 87
  • .\,错误 18452
  • .,错误 18452

现在我对结果感到非常沮丧。请帮忙T_T


错误列表

错误 87

无法连接到 EB-OR1007724\MSSQLSERVER。
其他信息:
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:SQL 网络接口,错误:25 - 连接字符串无效)(Microsoft SQL Server,错误:87)
参数不正确。

错误 18452

无法连接到 EB-OR1007724。

其他信息:
登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。 (Microsoft SQL Server,错误:18452)

有一个相关问题on stackoverflow 供您参考。

【问题讨论】:

  • 我今天早上可以连接到 DB Engine,但今天下午却不能。现在,当我重新启动计算机时,连接又可以工作了……为什么??
  • 您的计算机操作系统似乎有问题?杀毒软件?我想不出任何你在连接到你自己的本地 SQL 引擎时会遇到问题的原因。这很奇怪。
  • 除非您已将数据库安装为命名实例,否则没有理由使用实例名称连接到默认实例。只需. 就足够了。另一方面,该错误抱怨 用户凭据,即。它不喜欢您的帐户。即使您的计算机是域的一部分,您是否尝试使用本地帐户登录?

标签: sql-server sql-server-2012


【解决方案1】:

原因

问题可能是由网络上定义的公司安全程序引起的。由于本地服务MSSQLSERVER 不是公司官方服务,Active Directory (AD) Server 拒绝提供身份验证凭据。 (显然,这是我的假设。^^)

解决方案

至于解决方案,我使用SQL Server Authentication而不是Windows Authentication来登录。为此,请确保您的服务器在Mixed Mode(Windows 身份验证和 SQL Server 身份验证)下运行。这可以在 SQL Server 2012 安装期间进行配置,步骤 数据库引擎配置

登录名是 sa(系统管理员),密码是您之前定义的密码。

连接后,您应该为不同的用途正确添加新的登录名。正如 Panagiotis Kanavos 所说:

sa 连接被认为是一个严重的安全问题,而不是任何类型的解决方案。永远不应该在生产系统中尝试它

【讨论】:

  • 禁用 Windows 身份验证并以sa 身份连接 被认为是一个严重的安全问题,而不是任何类型的解决方案。永远不应该在生产系统中尝试它
  • 我同意你的看法。请让我知道我能做些什么来正确解决这个问题。我仍然无法使用我的 Windows 身份验证连接到我的本地主机。
  • 您的机器是域的一部分吗?您是否尝试使用本地帐户登录?错误很明显 - 服务器不信任您的帐户。
  • 我的机器是域的一部分,我总是尝试使用我的本地帐户。最奇怪的是,我可以使用这个帐户连接到 SSAS。我在问题中提到过 > 检查 AD 服务器状态。
  • 供您参考,我们还有另一台机器正在生产中。我可以通过 SSMS 使用我的帐户远程连接到它的数据库引擎
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-03
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多