啟用加密之後,不會啟動事件標識碼 33566 和 SQL Server
適用于:SQL Server
徵狀
在 Microsoft SQL Server 組態管理員 中,您會布建伺服器端憑證並啟用加密。 不過,SQL Server 服務不會啟動,而且您會收到下列錯誤訊息:
Windows 無法在本機計算機上啟動 SQL Server (MSSQLSERVER) 。 如需詳細資訊,請檢閱系統事件記錄檔。
如果這是非 Microsoft 服務,請連絡服務廠商,並參閱服務特定錯誤碼 13。
解決方案
檢查應用程式記錄檔,並確認您看到兩個類似下列的事件專案:
Log Name: Application Source: MSSQLSERVER Date: <Datetime> Event ID: 33556 Task Category: Server Level: Error Keywords: Classic User: N/A Computer: <Server name> Description: Invalid character in the thumbprint [Cert Hash(sha1) " \<Cert Hash number"]. Please provide a certificate with a valid thumbprint.
注意事項
此錯誤通常表示憑證不是透過 Configuration Manager 布建。 其布建方式是手動將指紋值複製到下列登錄機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate
如果將無效字元複製到登錄值中,就會發生此錯誤。
若要解決此問題,請使用下列其中一個方法。
方法 1:使用 SQL Server 組態管理員 布建憑證
從下列登錄子機碼手動移除指紋值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate
使用 Configuration Manager 重新布建憑證。
重新啟動 SQL Server 服務。
方法 2:修正指紋值中的無效字元
選 取 [開始>執行],輸入 mmc,然後在 MMC 控制台中開啟 [ 憑證嵌入 式管理單元]。
以滑鼠右鍵按下憑證,並將 [指紋] 值複製到文字檔中。 請確定指紋值前後沒有任何空格存在。
從下列登錄子機碼手動移除 指紋 值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate
手動貼上新值,或重新輸入您從文本檔取得的值。
重新啟動 SQL Server 服務。