次の方法で共有


MSSQLSERVER_17182

適用対象: SQL サーバー

詳細

属性 Value
製品名 SQL Server
イベント ID 17182
イベント ソース MSSQLSERVER
コンポーネント SQLEngine
シンボル名 INIT_TDSSNICLIENT
メッセージ テキスト エラー 0x%lx、状態コード 0x%lx で、TDSSNIClient の初期化に失敗しました。 理由: %S_MSG %.*ls

説明

SQL Server を起動するときに実行する手順の 1 つは、受信接続を受け入れるようにリスナーとネットワーク ライブラリテーブル データ ストリーム (TDS) を初期化することです。 この初期化に失敗すると、エラー 17182 が発生します。 初期化アクティビティには、SNI レイヤー/TDS リスナーの開始、ポート、プロトコル、 SSPI、認証コンテキスト 暗号化 (TLS/SSL) などの構成または初期化が含まれます。

通常、このエラーは、 MSSQLSERVER_17826MSSQLSERVER_17120の他のエラーと共に発生します

17182 エラー メッセージには、発生した問題に基づいて動的に入力される 3 つのプレースホルダーが含まれています。 "エラー 0x%lx で失敗しました" 16 進数の値は、発生した基になる OS エラーです。 これはエラーの最も重要な部分です。 "Reason: " の後のテキストは、この OS エラーに関連付けられているテキスト メッセージです。 説明するために、このエラーの例を次に示します。

   Error: 17182, Severity: 16, State: 1.
   TDSSNIClient initialization failed with error 0x139f, status code 0x80. Reason: Unable to initialize SSL support. The group or resource is not in the correct state to perform the requested operation.

この場合、OS エラー = 0x139f。10 進数では 5023 です。 コマンド プロンプトに移動し、「 net helpmsg 5023 」と入力してこの OS エラーを検索すると、"要求された操作を実行するためのグループまたはリソースが正しい状態ではありません" というメッセージが表示されます。このテキストは、例の "Reason:" の後に表示されます。

3 番目のプレースホルダーは状態コードです。 これは、初期化で失敗したコンポーネントを示す内部値です。 これは、必要に応じて問題のトラブルシューティングを行う場合に役立つ場合があります。 観察された一般的な状態コードを次に示します。

状態コード 意味
0x01 SNI クライアント
0x04 リスナーなし (空)
0x0a TCP/IP プロバイダー
0x40 共有メモリ プロバイダー
0x50 名前付きパイプ プロバイダー
0x80 SSL プロバイダー

原因

このエラーの原因には複数の理由が考えられますが、これらはすべて、SQL Server ネットワーク インターフェイス (SNI) レイヤーでのネットワーク ライブラリまたは暗号化の初期化に関連しています。 次に例をいくつか示します。

  • ネットワーク プロトコルが正しく構成されていない
    • プロトコルが選択されていない
    • 無効な TCP ポートが指定されている
  • ネットワーク暗号化の TLS/SSL が正しく構成されていません
    • 無効な証明書、
    • 無効な TLS バージョン
    • 無効または不足しているレジストリ キーの構成
  • プロトコルまたは TLS/SSL に関するオペレーティング システムの問題

ユーザーの操作

  1. 正しく構成されていないプロトコルを解決します 報告されている一般的な問題には、正しく構成されていない SQL Server プロトコルが含まれます。 詳細については、「すべてのプロトコルが無効になっている場合、SQL Server を起動できない」を参照してください。 エラー ログには、次の一連のエラーが表示される場合があります。

    Error: 17182, Severity: 16, State: 1.
    TDSSNIClient initialization failed with error 0xd, status code 0x4. Reason: **All protocols are disabled. The data is invalid**.
    Error: 17182, Severity: 16, State: 1.
    TDSSNIClient initialization failed with error 0xd, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. The data is    invalid.
    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 operating system error log for information about possible related    problems.
    
  2. TLS の構成と更新の問題を解決します 報告されているもう 1 つの一般的な問題には、SQL Server がバックグラウンド通信タスクを作成できないようにするサーバー上の TLS 構成が含まれます。

    Error: 26011, Severity: 16, State: 1.
    The server was unable to initialize encryption because of a problem with a security library. The security library may be missing. Verify that security.dll exists on  the    system.
    Error: 17182, Severity: 16, State: 1.
    TDSSNIClient initialization failed with error 0x139f, status code 0x80. Reason: Unable to initialize SSL support. The group or resource is not in the correct state  to    perform the requested operation.
    Error: 17182, Severity: 16, State: 1.
    TDSSNIClient initialization failed with error 0x139f, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. The group  or    resource is not in the correct state to perform the requested operation.
    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.
    

    SQL Server に対して TLS を正しく構成していることを確認します。 必要な更新プログラムについては、Microsoft SQL Server TLS 1.2 のサポートを参照してください

  3. 暗号化証明書の問題を解決する もう 1 つの一般的な問題は、TLS/SSL 証明書の構成が正しく行われず、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.
    

    詳細については、「セキュリティで保護されたソケットレイヤー証明書を使用するようにインスタンスを構成した後に SQL Server サービスを開始できない する」を参照してください。

  4. SQL Server 構成マネージャーを使用して、ネットワーク プロトコルが正しく構成されていることを検証します。 詳細については、「 サーバー ネットワーク プロトコルの有効化または無効化」を参照してください。

  5. SQL Server 構成マネージャー 2019 以降を使用して証明書を管理し、検証します。 詳細については、「Certificate Management (SQL Server 構成マネージャー)」を参照してください。