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

你的浏览器不受支持

你需要更新你的浏览器才能使用该网站。

更新到 Internet Explorer 的最新版本

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

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 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 客户端网络实用工具"

Warning: This article has been translated automatically

属性

文章 ID:328383 - 上次审阅时间:12/30/2005 04:22:44 - 修订版本: 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
反馈