使用 [HOSTNAME]\instance 或 [FQDN]\Instance、[IP]\instance 连接到 SQL Server 时出错

使用 [HOSTNAME]\instance 或 [FQDN]\Instance、[IP]\instance 连接到 SQL Server 时出错

这个有点奇怪,至少对我来说是这样。

我在 Server 2k3 R2 SP2 上安装了 MSSQL Server 2k5 (STD)(因为某些旧版软件尚不支持 x64 或 Server 2008),使用 Windows 身份验证。它配置为通过 TCP/IP (2) 或命名管道 (3) 接受本地或远程连接。(我尝试禁用命名管道,但没有帮助。)

我可以从我们的任何 SQL 服务器远程连接到它,如果我打开 SQL SMS,输入“.\instance”或 [IP]\instance 即可连接,但输入 [hostname]\instance 甚至 [FQDN]\instance 则无法连接 - 我收到“无法建立连接,因为目标计算机主动拒绝”代码 10061 TCP/IP 错误。当然,nslookup 会返回服务器的 FQDN 和正确 IP。

顺便说一句,SQL Server Agent 也无法启动,因为它尝试连接到 [hostname]\instance 时超时,这让我觉得特别奇怪,因为其他四个服务启动正常,并且它们的属性(在 SQL Server 配置管理器下)显示它们正在连接到 [hostname],而更改它的选项全部变灰。我能想到的唯一要补充的是,这些服务设置为在域 SA 帐户下启动,但这不应该有什么区别。

有什么想法吗?(关于是什么原因造成的,或者如何纠正?)

答案1

在您的 SQL Server 配置管理器中,检查网络配置 TCP/IP 设置 - 在 IP 地址选项卡上,您的 FQDN 解析的 IP 地址是否实际启用?

如果您从 SSMS 连接到本地机器,我认为它将在所有其他协议之上使用共享内存。

答案2

检查您的 hosts 文件。其中可能有一个错误的条目。nslookup故意查看 DNS 服务器,但不先查阅本地 hosts 文件。

答案3

您是否探讨过 NETBIOS 故障是否是可能的原因?

也许可以先尝试与服务器建立一个 NETBIOS 会话,看看是否可以像下面的帖子一样进行连接:

https://stackoverflow.com/questions/5237654/sql-server-management-studio-2008-runas-user-on-different-domain-over-vpn

NET USE \DBSERVER /USER:域\用户名

答案4

在尝试了此处的建议但无法确定根本原因或修复方法后,我重建了服务器,问题就解决了。现在 MS SQL 实例运行正常。

我想,这就是作为一名 Windows 管理员的乐趣吧。

相关内容