次の方法で共有


Secure Sockets Layer 証明書を使用するようにインスタンスを構成した後に SQL Server サービスを開始できない

この記事は、Microsoft Enhanced Cryptographic Provider 1.0 を使用する SSL 証明書を構成した後に発生する問題を解決するのに役立ちます。

元の製品バージョン: SQL Server
元の KB 番号: 928779

現象

このシナリオでは、SSL 証明書を使用するように SQL Server のインスタンスを構成します。 SSL 証明書では、拡張暗号化プロバイダー 1.0 が使用されます。

このシナリオで SQL Server サービスを開始しようとすると、次のエラー メッセージが SQL Server エラー ログ ファイルに書き込まれます。

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 を持つ証明書をサーバー証明書として使用できないために発生します。

解決方法

この問題を解決するには、次のいずれかの方法を使用します。

詳細

拡張暗号化プロバイダー 1.0 を使用する SSL 証明書は、クライアント証明書に使用できます。 ただし、証明書はサーバー証明書としては適しません。 証明書のプロバイダーを確認するには、コマンド プロンプトでコマンドを実行します: certutil -v -store my

Symptoms セクションには、次のエラー メッセージが記載されています。

Date Time Server TDSSNIClient の初期化に失敗し、エラー 0x80092004、状態コード0x80。

このエラー メッセージでは、 エラー状態0x80 は、SSL 証明書に問題があることを示します。 さらに、 0x80092004 は、 CRYPT_E_NOT_FOUNDに変換されるセキュリティ サポート プロバイダー インターフェイス (SSPI) エラー コードです。