你目前正处于脱机状态,正在等待 Internet 重新连接

FIX:动态 IP 地址无法连接到 SQL Server 2000

本文的发布号曾为 CHS306199
症状
尝试通过虚拟专用网络 (VPN) 连接到运行 SQL Server 2000 的计算机时可能会失败,并出现以下错误信息:
SQL Server does not exist or access denied
一般来说,SQL Server 不响应任何在 SQL Server 2000 启动后连接到该计算机的新 IP 地址。如果您停止 SQL Server 服务器,然后在建立 VPN 连接后重新启动该服务器,就可以成功地连接到该服务器。
原因
SQL Server 2000 服务启动时,它会枚举该计算机的所有 IP 连接。然后它会直接绑定到 IP 地址,而不再侦听通配 IP 地址 0.0.0.0。这与 Microsoft SQL Server 7.0 不同。
解决方案
若要解决此问题,请获取最新的 SQL Server 2000 Service Pack、最新的 MDAC 2.6 Service Pack,或下文提到的修补程序。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211INF:如何获得最新的 SQL Server 2000 Service Pack
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
300635INFO:如何获取最新的 MDAC 2.6 Service Pack

修补程序

备注:以下修补程序是在 Microsoft SQL Server 2000 Service Pack 2 之前创建的。

此修复程序的英文版应具有以下文件属性或更新的属性:
日期         版本           大小    文件大小        平台 --------------------------------------------------------------------31-AUG-2001   2000.080.0442.00   86,588     Ssnetlib.dll   x86
状态
Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。 此问题最初由 Microsoft SQL Server 2000 Service Pack 2 和 MDAC 2.6 Service Pack 2 修复。
更多信息
可能会遇到此问题的一种情况是当您使用复制更新订阅服务器时。假设您在启动了订阅服务器的 SQL Server 实例后,建立了一个从订阅服务器计算机到发布服务器所在的专用网络的 VPN 连接。当分发代理程序在发布服务器上运行并尝试连接到订阅服务器时,连接将失败,因为 SQL Server 未将 TCP 端口绑定到新创建的 VPN IP 地址。尝试建立从发布服务器到订阅服务器的 TCP/IP 连接将失败,并出现错误信息"SQL Server does not exist",直到您在订阅服务器上停止 SQL Server,然后重新启动 SQL Server。

服务器端 TCP/IP 套接字网络库 Ssnetlib.dll 最初从侦听通配 IP 地址 0.0.0.0(SQL Server 7.0)更改为枚举 IP 地址并绑定到端口和 IP 地址(SQL Server 2000)。因此,SQL Server 不侦听在 SQL Server 启动后获取的 IP 地址。安装了 Microsoft SQL Server 2000 Service Pack 2 (SP2) 后,SQL Server 将使用旧方法,绑定到通配 IP 0.0.0.0。这样,无需重新启动 SQL Server,动态 IP 就可以正常工作。
属性

文章 ID:306199 - 上次审阅时间:11/12/2003 15:41:13 - 修订版本: 2.1

  • Microsoft SQL Server 2000 标准版
  • kbbug kbfix kbmdac260sp2fix kbmdacsearch kbsqlserv2000presp2fix KB306199
反馈