当我尝试在公司网络中的另一台计算机上连接 SQL Server Express 时,我遇到了“无法生成 SSPI 上下文”的错误。我的计算机运行 Windows XP,而那台计算机运行 Windows 2003,我不太了解网络的结构以及在哪里使用了哪些设备。
我谷歌了一下,发现本文描述了一些奇怪的情况,称之为“DNS 中毒”。我nslookup
在我的机器上启动了它,结果看起来和文章中描述的差不多:
>machinewithsqlserver
Name: machienwithsqlserver.companyname.com
Address: A.B.C.D
>machinewithsqlserver
Name: computer_1
Address: A.B.C.D
所以有些computer_1
解析到相同的 IP 地址,我猜这就是问题所在。现在我该如何解决它?如何让本地 DNS 服务器忘记额外的条目?
答案1
首先缩小原因范围,然后才能找到最佳解决方案。
这可能不是恶意的,而只是两台机器相互重叠。
看看您是否可以访问这两台机器,看看它们是否使用相同的 IP。其中一台机器应该有重复 IP 的事件查看器条目。只需在两台机器上使用 ipconfig 即可确保没有重复的 IP。
在网络适配器高级设置中,您可以关闭“在 DNS 中注册此连接的地址”。这将阻止机器自动为其分配的每个 IP 添加 DNS 名称。您还可以删除 DNS 服务器上的额外记录。
但是,这些只是影响因素,而不是原因。两台机器之间,机器名称或 IP 可能存在重复,因此找到该问题,您就应该能够纠正它。