Share via


MSSQLSERVER_17182

適用於:SQL Server

詳細資料

屬性
產品名稱 SQL Server
事件識別碼 17182
事件來源 MSSQLSERVER
元件 SQLEngine
符號名稱 INIT_TDSSNICLIENT
訊息文字 TDSSNIClient 初始化失敗,其錯誤為 0x%lx,狀態碼為 0x%lx。 原因: %S_MSG %.*ls

說明

當 SQL Server 啟動時,其中一個步驟是初始化 表格式資料流程 (TDS) 接聽程式和網路程式庫以接受連入連線。 如果這個初始化失敗,就會引發錯誤 17182。 初始化活動包括啟動 SNI 層/TDS 接聽程式、設定或初始化埠、通訊協定、SSPI 驗證內容、 加密 (TLS/SSL) 等。

此錯誤通常會與其他錯誤 一起引發, MSSQLSERVER_17826和 MSSQLSERVER_17120

17182 錯誤訊息包含三個根據所發生問題動態填入的預留位置。 「failed with error 0x%lx」 十六進位值是發生的基礎 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,十進位數為 5023。 如果您移至命令提示字元並輸入 net helpmsg 5023 來查閱此 OS 錯誤,您將會收到:「群組或資源未處於執行要求作業的正確狀態。」此文字是您在範例中「原因:」之後看到的文字。

第三個預留位置是狀態碼。 這是一個內部值,指出初始化中哪些元件失敗。 這可能有助於 Microsoft 視需要更詳細地針對問題進行疑難排解。 以下是觀察到的一些常見狀態碼:

狀態碼 意義
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 設定和更新問題 :回報的另一個常見問題包括伺服器上的 TLS 設定,以防止 SQL Server 建立背景通訊工作。

    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. 解決加密憑證問題 另一個常見問題是 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 Configuration Manager 2019 或更新版本來管理憑證並加以驗證。 如需詳細資訊,請參閱 憑證管理(SQL Server 組態管理員)