这个有点奇怪,至少对我来说是这样。
我在 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 会话,看看是否可以像下面的帖子一样进行连接:
NET USE \DBSERVER /USER:域\用户名
答案4
在尝试了此处的建议但无法确定根本原因或修复方法后,我重建了服务器,问题就解决了。现在 MS SQL 实例运行正常。
我想,这就是作为一名 Windows 管理员的乐趣吧。