共用方式為


設定實例以使用安全套接字層憑證之後,SQL Server 服務無法啟動

本文可協助您解決在設定使用增強式密碼編譯提供者 1.0 Microsoft SSL 憑證之後所發生的問題。

原始產品版本:SQL Server
原始 KB 編號: 928779

徵兆

在此案例中,您會將 SQL Server 的實例設定為使用 SSL 憑證。 SSL 憑證會使用增強式密碼編譯提供者 1.0。

當您嘗試在此案例中啟動 SQL Server 服務時,下列錯誤訊息會寫入 SQL Server Errorlog 檔案:

Error: 26014, Severity: 16, State: 1.
Unable to load user-specified certificate [Cert Hash(sha1) "%hs"]. The server will not accept a connection. You should verify that the certificate is correctly installed. See "Configuring Certificate for Use by SSL" in Books Online.

Error: 17182, Severity: 16, State: 1.
TDSSNIClient initialization failed with error 0x80092004, status code 0x80. Reason: Unable to initialize SSL support. Cannot find object or property.

Error: 17826, Severity: 18, State: 3.
Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.

Error: 17120, Severity: 16, State: 1.
SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

原因

發生此問題的原因是您無法使用具有增強式密碼編譯提供者 1.0 版做為伺服器證書的憑證。

解決方法

若要解決此問題,請使用下列任何方法:

  • 請勿指定任何憑證,讓 SQL Server 產生自我簽署憑證。 若要這樣做,請將 [憑證] 方塊保留空白於 SQL Server 組態管理員。

    如需詳細資訊,請流覽下列網站:

  • 使用使用 SQL Server 憑證之 RSA 通道密碼編譯提供者的憑證。

  • 使用 SQL Server 組態管理員 來設定憑證。 從 SQL Server 2019 開始,您可以使用 SQL 組態管理員來檢視及驗證 SQL Server 實例中安裝的憑證,識別哪些憑證可能即將到期和其他工作。 如需詳細資訊,請參閱憑證管理(SQL Server 組態管理員)

其他相關資訊

使用增強式密碼編譯提供者 1.0 的 SSL 憑證可用於客戶端憑證。 不過,憑證不適合做為伺服器證書。 若要判斷憑證的提供者,請在命令提示字元中執行命令: certutil -v -store my

徵兆區段中會提及下列錯誤訊息:

日期時間伺服器 TDSSNIClient 初始化失敗,錯誤0x80092004,狀態代碼0x80。

在此錯誤訊息中, 錯誤狀態0x80 指出 SSL 憑證中有問題。 此外, 0x80092004 是安全性支援提供者介面 (SSPI) 錯誤碼,可轉譯為 CRYPT_E_NOT_FOUND