首页 > 解决方案 > SQL Server 2012 无法使用 ssms 远程连接到命名实例

问题描述

我在 Microsoft Windows Server 2012 R2 上运行 SQL Server 2012。我正在运行一个名为PP. 服务器身份验证设置为“SQL Server 和 Windows 身份验证模式”。

当我通过远程桌面登录到服务器时,我可以使用 SQL Server 用户名和密码通过 SSMS 登录到命名实例。当我尝试使用相同的用户名和密码远程登录命名实例时,我收到此屏幕截图中所述的错误(我的声誉不够高,无法将屏幕截图直接粘贴到我的帖子中,请点击链接):

错误信息截图

以下是我到目前为止检查的内容:

  1. 我可以从本地计算机 ping 远程服务器的 IP 地址并获得成功的响应。
  2. 如本文所述,我已将 SQL Server 实例配置为接受远程连接。
  3. 在远程服务器上的 SQL Server 配置管理器中,根据我的命名实例的协议,我启用了“共享内存”、“命名管道”和“TCP/IP”。
  4. 在 SQL Server 配置管理器中远程服务器上的“TCP/IP”属性下,在“IP2”部分下的“IP 地址”选项卡中,我已将“TCP 动态端口”值设置为空白。我尝试将“TCP 端口”值设置为 1433,然后设置为 1434(常规实例和命名实例之间的差异),并按照此处的屏幕截图所示完成以下其余步骤(这些是在我上面链接的文章)
  5. Windows 防火墙没有在远程服务器上运行,据我所知,远程服务器上也没有运行另一个防火墙。
  6. 远程服务器上的 SQL Server Browser 服务已停止并重新启动。
  7. 在我完成所有这些更改并验证所有这些设置后,远程服务器上命名实例的 SQL Server 服务已停止并重新启动。

在这一切之后,当我尝试通过 SSMS 从本地计算机连接到远程服务器上的 SQL Server 命名实例时,我仍然遇到原始错误。我一直在寻找高低,找不到任何额外的故障排除步骤来诊断这个问题。有人能指出我应该采取的下一步解决方案的方向吗?提前致谢。

标签: sql-serverdatabase-connection

解决方案


我注销然后第二天回来实施@Andrey Nikolov 的答案中的建议,由于某种原因,我现在能够远程连接到命名实例。最终适用于命名实例的“TCP/IP”配置的“IP2”部分的设置是“TCP 动态端口”值设置为空白,“TCP 端口”设置为 1433。我没有t 进行任何其他更改。其余配置如我在我的 OP 中所述。我拥有对该服务器的系统管理员访问权限,但我不是实际的管理员,所以我想实际的管理员可能在我注销然后重新登录之间更改了其他内容,但我不知道那可能是什么。感谢@Andrey Nikolov 的意见。

编辑:几天后,这个问题又完全恢复了,我无法确定。经过长时间的搜索,我发现了一个非常有用的 MS Doc,它深入了解了整个故障排除过程,希望这可以帮助其他遇到此问题的人。这是链接:

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/troubleshoot-connecting-to-the-sql-server-database-engine?view=sql-server-2017

它说它适用于 SQL Server 2017,但我能够按照它来修复我的 SQL Server 2012 问题。对于我的情况,事实证明,因为我的服务器上有 2 个单独的 MS SQL 实例,初始实例使用的是其他地方描述的所有默认设置,而我尝试连接的实例使用的是完全不同的端口。使用此文档,我能够找出我的实例正在使用的端口,并在我尝试连接时在 SSMS 的“服务器名称”框中指定该端口。现在它就像一个魅力。


推荐阅读