当您连接到命名实例正在运行 Windows Vista 或 Windows Server 2008 的客户端计算机上 SQL Server FIX: 错误消息:"指定 SQL 服务器找不到"或"错误查找服务器/实例指定"

文章翻译 文章翻译
文章编号: 944390 - 查看本文应用于的产品
重要本文包含如何帮助较低的安全设置或如何关闭计算机上的安全功能为您显示的信息。您可以通过这些更改来解决特定问题。您在进行这些更改之前,我们建议您考虑在您的特定环境中实施该替代方法带来的风险。如果实施该替代方法,采取任何适当的附加措施来帮助保护计算机。
展开全部 | 关闭全部

本文内容

症状

请考虑以下情形。在 Windows Vista 或 Windows Server 2008 运行一个客户端计算机上,连接到的 Microsoft SQL Server 命名实例。命名的实例位于远程服务器上。在这种情况下,连接可能失败。

注意当您连接到以下版本的 SQL Server 之一时,就会出现此问题:
  • Microsoft SQL Server 2000
  • Microsoft SQL Server 2005
  • Microsoft SQL Server 2008
如果您使用 Windows 数据访问组件 (Windows DAC) 6.0 连接到命名实例,您会收到以下错误消息:
[DBNETLIB]找不到指定的 SQL 服务器。
[DBNETLIB]ConnectionOpen (Connect())。
如果您使用 SQL 本机客户端连接到命名实例,您会收到以下错误消息:
[SQL 本机客户端]SQL 网络接口: 错误定位服务器/实例指定 [xFFFFFFFF]。
[SQL 本机客户端]登录超时过期。
当命名的实例故障转移群集实例时,会出现此问题。此外,如果远程服务器有多个 IP 地址可能会出现此问题。

原因

连接命名实例时客户端网络库会将用户数据报协议 (UDP) 请求数据包发送到命名实例的 IP 地址。然后,SQL Server 浏览器返回 UDP 响应数据包,包含了连接终结点的信息。

但是,该的 UDP 响应数据包中源 IP 地址可能不是 UDP 请求数据包发送到的 IP 地址。如果已命名的实例故障转移群集实例,源 IP 地址是物理计算机,而不是远程服务器的虚拟 IP 地址的 IP 地址。如果远程服务器中有多个 IP 地址的源 IP 地址可以是任何分配给远程服务器的 IP 地址。

在 Windows Vista 中 的 Windows 防火墙 不允许为松散源映射中。因此,Windows 防火墙 丢弃 UDP 响应数据包。

有关松散源映射的详细信息,请参阅"UDP 连接"部分的下面的 Microsoft 网站:
http://technet2.microsoft.com/WindowsServer/en/library/3ccb6af5-d960-4a8d-b12b-70692dc47bf41033.mspx?mfr=true

解决方案

SQL Server 2008 年的服务包信息

重要您正在运行 SQL Server 2008 的远程服务器上应用服务包。

若要解决此问题,获得最新的 service pack,SQL Server 2008 年。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
968382如何获取最新的 service pack,SQL Server 2008 年


注意此修复程序只解决该问题时 SQL 服务器正在运行 Windows Vista 或 Windows 服务器 2008年系统上。对于 SQL Server 安装 Windows Server 2003,如的早期版本上则必须使用在 Wordaround 部分中介绍的方法之一。

替代方法

要变通解决此问题,请在客户端计算机上使用下列方法之一。

方法 1

在连接字符串中指定要连接到命名实例的 TCP 端口号或命名的管道名称。

连接字符串的语法的详细信息,请参阅创建有效的连接字符串"部分的下面的 Microsoft 网站:
http://technet.microsoft.com/en-us/library/ms188635.aspx

方法 2

警告此替代方法可能会使计算机或网络更容易受到恶意用户或恶意软件 (如病毒的攻击。我们不建议使用此替代方法,但提供此信息,以便您可以在您应自行决定实施此替代方法。使用此替代方法需要您自担风险。

具有高级安全性的 Windows 防火墙,在控制面板中,创建传出规则为连接到 SQL Server 的应用程序。若要这样做,请按照下列步骤操作:
  1. 在 $ 控制面版中双击 管理工具
  2. 管理工具,双击 具有高级安全性的 Windows 防火墙
  3. 具有高级安全性的 Windows 防火墙,单击 出站规则,然后单击 新建规则
  4. 单击 程序,然后单击 下一步
  5. 单击 此程序路径、 指定该的应用程序的路径,然后单击 下一步
  6. 单击 允许连接,然后单击 下一步
  7. 完成了新建的出站规则向导的步骤。

方法 3

警告此替代方法可能会使计算机或网络更容易受到恶意用户或恶意软件 (如病毒的攻击。我们不建议使用此替代方法,但提供此信息,以便您可以在您应自行决定实施此替代方法。使用此替代方法需要您自担风险。

在控制面板中 具有高级安全性的 Windows 防火墙 中中, 创建一个传入的规则允许从远程服务器的所有可能的 IP 地址或为故障转移群集实例配置的所有可能的 IP 地址的通信。若要这样做,请按照下列步骤操作:
  1. 在 $ 控制面版中双击 管理工具
  2. 管理工具,双击 具有高级安全性的 Windows 防火墙
  3. 具有高级安全性的 Windows 防火墙,单击 入站规则,然后单击 新建规则
  4. 单击 自定义,然后单击 下一步
  5. 单击 所有程序,然后单击 下一步
  6. 协议类型 列表中单击 任何,然后单击 下一步
  7. 的远程 IP 地址符合此规则,单击 这些 IP 地址,然后单击 添加
  8. IP 地址 对话框中键入 IP 地址下,此 IP 地址或子网,之一然后单击 确定
  9. 若要将其他 IP 地址重复步骤 7 到 8,然后单击 下一步
  10. 单击 允许连接,然后单击 下一步
  11. 完成了新建入站规则向导的步骤。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。 此问题 SQL Server 2008 Service Pack 1 中第一次已得到纠正。

更多信息

有关 具有高级安全性的 Windows 防火墙 的详细信息,请访问下面的 Microsoft 网站:
http://technet.microsoft.com/en-us/windowsvista/aa937624.aspx

属性

文章编号: 944390 - 最后修改: 2009年4月8日 - 修订: 2.1
这篇文章中的信息适用于:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Web
关键字:?
kbmt kbexpertiseadvanced kbtshoot kbprb KB944390 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 944390
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com