当客户端计算机试图连接到的 SQL Server 实例 SQL Server 客户端可能会更改协议

文章翻译 文章翻译
文章编号: 328383 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

多个协议或建立连接到 SQL Server Interprocess 通讯 (IPC) 机制,可以尝试了 Microsoft 数据访问组件 (MDAC) 2.6,或更高,版本的客户端计算机。

更多信息

将客户端网络库 Dbnetlib.dll 的 MDAC 2.6,及更高版本中进行的增强。MDAC 版本 2.6,和以后如果多个协议有和与第一个协议的连接尝试失败,客户端应用程序立即尝试使用其他协议之一。

默认状态下,客户端将 TCP 和命名管道作为可用的协议。您可以处理使用 SQL Server 客户端实用程序订购该协议。客户端应用程序使用该协议将在客户端计算机上指定的顺序。协议顺序存储在以下注册表项位置在值 ProtocolOrder 下:
HKLM\Software\Microsoft\MSSQLServer\Client\SuperSocketNetLib

如果使用的 SQL Server 2005 协议顺序存储在以下注册表子项下的 ProtocolOrder 注册表项中:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0


例如对于如果客户端计算机有 TCP 和可用,命名管道和顺序为:
  • TCP
  • 命名的管道
当客户端计算机尝试建立 TCP 连接到服务器连接尝试返回非零返回代码时在客户端通过使用列表是命名管道中的下一个协议透明地尝试连接。在这种情况下客户端无法建立 TCP 连接,但是,客户端成功地进行命名管道连接。

注意客户端不会收到一个错误,指示第一个协议失败。

如果客户端应用程序使用了第二个协议,并且它还返回一个错误是向客户端返回错误。

如果使用以下方法之一来使别名在客户端应用程序使用别名信息建立到服务器的连接和不使用任何其他协议。
  • 通过使用 SQL Server 客户端网络实用工具
  • 通过使用 SQL Server 配置管理器 (SQL Server 2005 年)
  • 当您创建 ODBC 数据源名称 (DSN)
如果希望控制为每个连接尝试使用客户端应用程序的协议和不允许客户端尝试多个协议可以执行以下任一操作:
  • 使用 SQL 客户端网络实用工具或 SQL Server 配置管理器通过指定您喜欢的协议创建的别名。
  • 指定在连接字符串中的协议。例如:
    "DSN=DSNName;SERVER=servername;DATABASE=YourDataBaseName;Network=DBMSSOCN;Address=IP_Address,1433;UID=YourUID;PWD=YourPassword;"
    此的示例在您作为"DBMSSOCN",表示要使用 TCP/IP 协议指定网络协议。如果您的连接字符串中指定协议,Dbnetlib 将仅使用指定的协议,并不会尝试任何其他协议。同样,以便仅命名管道协议使用与以下内容类似的连接字符串:
    "DSN=DSNName;SERVER=servername;DATABASE=YourDataBaseName;Network=DBNMPNTW;Address=\\.\pipe\sql\query;UID=YourUID;PWD=YourPassword;"
  • 使用客户端网络实用工具来删除其他协议。

引用

SQL Server 联机丛书 ; 主题:"SQL Server 客户端网络实用工具"

属性

文章编号: 328383 - 最后修改: 2005年12月30日 - 修订: 4.3
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
关键字:?
kbmt kbinfo KB328383 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 328383
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