次の方法で共有


暗号化を有効にした後、イベント ID 33566 とSQL Serverが開始されない

適用対象: SQL Server

現象

Microsoft SQL Server 構成マネージャーでは、サーバー側の証明書をプロビジョニングし、暗号化を有効にします。 ただし、SQL Server サービスは起動せず、次のエラー メッセージが表示されます。

Windows がローカル コンピューターでSQL Server (MSSQLSERVER) を起動できませんでした。 詳細については、「システム イベント ログ」を参照してください。
これが Microsoft 以外のサービスの場合は、サービス ベンダーに問い合わせて、サービス固有のエラー コード 13 を参照してください。

解決方法

  1. アプリケーション ログを確認し、次のような 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

    このエラーは、無効な文字がレジストリ値にコピーされた場合に発生します。

  2. この問題を解決するには、以下のいずれかの手順を実行します。

    方法 1: SQL Server 構成マネージャーを使用して証明書をプロビジョニングする

    1. 次のレジストリ サブキーからサム印刷値を手動で削除します。

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate

    2. Configuration Managerを使用して証明書を再プロビジョニングします。

    3. SQL Server サービスを再起動します。

    方法 2: 拇印値の無効な文字を修正する

    1. [Start Run]\(実行の開始\>) を選択し、「mmc」と入力し、MMC コンソールで [証明書スナップイン] を開きます。

    2. 証明書を右クリックし、 拇印 の値をテキスト ファイルにコピーします。 拇印の値の前後にスペースが存在しないことを確認します。

    3. 次のレジストリ サブキーから 拇印 の値を手動で削除します。

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate

    4. 新しい値を手動で貼り付けるか、テキスト ファイルから取得した値を再入力します。

    5. SQL Server サービスを再起動します。