暗号化を有効にした後、イベント ID 33565 とSQL Serverが開始されない
適用対象: SQL Server
現象
Microsoft SQL Server 構成マネージャーでは、サーバー側の証明書をプロビジョニングし、暗号化を有効にします。 Service Control Manager を使用してSQL Server サービスを開始すると、サービスは起動せず、次のエラー メッセージが表示されます。
Windows がローカル コンピューターでSQL Server (MSSQLSERVER) を起動できませんでした。 詳細については、「システム イベント ログ」を参照してください。
Microsoft 以外のサービスの場合は、サービス ベンダーに問い合わせて、サービス固有のエラー コード -2146885628を参照してください。
解決方法
アプリケーション イベント ログを確認し、次のような 2 つのイベント エントリが表示されることを確認します。
Log Name: Application Source: MSSQLSERVER Date: <Datetime> Event ID: 26010 Task Category: Server Level: Information Keywords: Classic User: N/A Computer: <Server name> Description: The server could not load the certificate it needs to initiate an SSL connection. It returned the following error: 0x8009030d. Check certificates to make sure they are valid. Log Name: Application Source: MSSQLSERVER Date: <Datetime> Event ID: 33565 Task Category: Server Level: Error Keywords: Classic User: N/A Computer: <Server name> Description: Found the certificate [Cert Hash(sha1) "<Cert Hash number>"] in the local computer store but the SQL Server service account does not have access to it.
イベント 26010 と 33565 の両方が表示される場合は、次の手順に従います。
注:
- 2 つのイベントは、SQL Server サービス アカウントに、Configuration Managerでプロビジョニングされた証明書に対するアクセス許可がないことを示します。 この問題を解決するには、必要なアクセス許可をサービス アカウントに割り当てる必要があります。
- イベント 26010 と 33565 の両方が表示されない場合は、この記事では対処されていない別の問題が発生している可能性があります。
[Start Run]\(実行の開始\>) を選択し、「mmc」と入力し、MMC コンソールで [証明書スナップイン] を開きます。
[ コンソール ] メニューの [ スナップインの追加と削除] を選択します。
[証明書の追加]> を選択し、もう一度 [追加] を選択します。
注:
現在のユーザー、サービス、またはコンピューター アカウントのスナップインを開くよう求められます。
コンピューター アカウントを選択します。
[ ローカル コンピューター] を選択し、[完了] を選択 します。
[ スタンドアロン スナップインの追加 ] ダイアログ ボックスで、[ 閉じる] を選択します。
[ スナップインの追加と削除 ] ダイアログ ボックスで、[ OK] を選択します。
注:
インストールされている証明書は、個人用コンテナーの [証明書] フォルダーにあります。
証明書を右クリックし、[すべてのタスク]>[秘密キーの管理] の順に選択し、SQL Server サービス アカウントに完全なアクセス許可を付与します。