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

当您试图连接到 SQL Server 2005 实例时出现错误消息:"无进程管道的另一端是"或"的现有连接被强行关闭远程主机"

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

点击这里察看该文章的英文版: 919710
症状
请考虑以下情形。正在运行 Microsoft Windows XP 或 Microsoft Windows 2000 的计算机上安装 Microsoft SQL Server 2005 实例。您尝试连接到实例。在这种情况下您会收到下面的错误消息,具体取决于您用于连接的协议之一:
  • 当试图通过使用命名的管道协议或 $ 共享的内存协议连接到实例时您会收到以下错误消息:
    管道的另一端没有进程。
  • 当试图使用 TCP/IP 协议连接到该实例时您会收到以下错误消息:
    由远程主机强行关闭现有连接。
原因
出现此问题的原因是,具有 AT_SIGNATURE 密钥规范的证书用于为实例的安全套接字层 (SSL) 加密。不能,具有 AT_SIGNATURE 密钥规范的证书用于 SSL 加密 SQL Server 2005 中。在运行 Microsoft Windows Server 2003 的计算机,该证书将被识别为无效。因此,SQL Server 服务不会加载该的证书,并且该服务没有启动。但是上正在运行 Windows XP 或 Windows 2000 的计算机,, SQL Server 服务加载该的证书,并在服务启动成功。此行为将导致连接失败。
解决方案
若要解决此问题,使用 $ 有效的证书。您必须使用具有 AT_EXCHANGE 密钥规范。

您可以通过使用 Certutil 实用程序 (Certutil.exe) 来检查证书的密钥规范。若要这样做,请按照下列步骤操作:
  1. 在命令提示符运行以下命令:
    Certutil-存储区-v 我-CertificateSerialNumber
    注意在此命令 CertificateSerialNumber 是证书的为该实例指定的序列号的占位符。获取证书的序列号、 找到下面的注册表子项,和然后获取证书的注册表项的值:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib
  2. 在结果文本中找到类似于以下内容的部分:
    CERT_KEY_PROV_INFO_PROP_ID(2):
    密钥容器 = c3748a7420955ed4ee1dffb26484a0df_64756357-bf11-4528-b106-59c407d8a6e8
    提供程序 = Microsoft RSA SChannel 加密提供程序
    ProviderType = c
    标志 = 60
    KeySpec = 1
    为一个有效的证书 KeySpec 属性有值为 1。如果 KeySpec 属性中有值为 2 证书具有 AT_SIGNATURE 密钥规范。因此,您遇到问题时使用的证书在"症状"部分中提到。
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
我们强烈建议使用 SQL Server 配置管理器指定实例的证书。 SQL Server 配置管理器将显示仅对服务器使用有效的证书。因此,您可以避免选择无效的证书。

警告:本文已自动翻译

属性

文章 ID:919710 - 上次审阅时间:11/20/2007 17:41:25 - 修订版本: 1.2

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition with Advanced Services, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Standard X64 Edition

  • kbmt kbsql2005connect kbsql2005engine kbtshoot kbexpertiseadvanced kbprb KB919710 KbMtzh
反馈