共用方式為


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

本文可協助您解決在設定使用 Microsoft Enhanced Cryptographic Provider 1.0 的 SSL 憑證之後所發生的問題。

原始產品版本: SQL S
原始 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 組態管理員 來設定憑證。 從 2019 SQL Server 開始,您可以使用 SQL Configuration Manager 來檢視和驗證安裝在 SQL Server 實例中的憑證,以識別哪些憑證可能即將到期和其他工作。 如需詳細資訊,請參閱憑證管理 (SQL Server 組態管理員)

其他相關資訊

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

一節中提及下列錯誤訊息:

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

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