暗号化を有効にした後、イベント ID 33566 とSQL Serverが開始されない
適用対象: SQL Server
現象
Microsoft SQL Server 構成マネージャーでは、サーバー側の証明書をプロビジョニングし、暗号化を有効にします。 ただし、SQL Server サービスは起動せず、次のエラー メッセージが表示されます。
Windows がローカル コンピューターでSQL Server (MSSQLSERVER) を起動できませんでした。 詳細については、「システム イベント ログ」を参照してください。
これが Microsoft 以外のサービスの場合は、サービス ベンダーに問い合わせて、サービス固有のエラー コード 13 を参照してください。
解決方法
アプリケーション ログを確認し、次のような 2 つのイベント エントリが表示されることを確認します。
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: 拇印値の無効な文字を修正する
[Start Run]\(実行の開始\>) を選択し、「mmc」と入力し、MMC コンソールで [証明書スナップイン] を開きます。
証明書を右クリックし、 拇印 の値をテキスト ファイルにコピーします。 拇印の値の前後にスペースが存在しないことを確認します。
次のレジストリ サブキーから 拇印 の値を手動で削除します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate
新しい値を手動で貼り付けるか、テキスト ファイルから取得した値を再入力します。
SQL Server サービスを再起動します。