當您嘗試連線到 SQL Server 2005 的執行個體時,出現錯誤訊息:"沒有任何處理程序是另一端的管道"或"現有的連線已強制會關閉由遠端主機 」

文章翻譯 文章翻譯
文章編號: 919710 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

考慮下列案例。正在執行 Microsoft Windows XP 或 Microsoft Windows 2000 的電腦上安裝 Microsoft SQL Server 2005 的執行個體。您嘗試連接到執行個體。在這種情況下您收到其中一個下列的錯誤訊息,取決於您要用於連接通訊協定:
  • 當您嘗試使用具名的管道通訊協定或共用的記憶體通訊協定來連接到執行個體時,您會收到下列錯誤訊息:
    沒有任何處理程序是管道的在另一端。
  • 當您嘗試使用 TCP/IP 通訊協定來連接到執行個體時,您會收到下列錯誤訊息:
    由遠端主機已強制關閉現有的連線。

發生的原因

之所以發生這個問題,是因為有 AT_SIGNATURE 金鑰規格的憑證用執行個體的安全通訊端層 (SSL) 加密。具有 AT_SIGNATURE 金鑰規格的憑證不能用於 SQL Server 2005 中的 SSL 加密。執行的 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 伺服器設定管理員 」 來指定執行個體的憑證。 SQL Server 組態管理員顯示只有有效的伺服器所使用的憑證。因此,您可以避免選取不是有效的憑證。

屬性

文章編號: 919710 - 上次校閱: 2007年11月20日 - 版次: 1.2
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • 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
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:919710
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