Поделиться через


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 содержит три заполнителя, которые динамически заполнены в зависимости от того, какая проблема возникла. Шестнадцатеричное значение ошибки с ошибкой 0x%lx является базовой ошибкой ОС, которая произошла. Это самая важная часть ошибки. Текст после "Причина:" — это текстовое сообщение, связанное с этой ошибкой ОС. Чтобы проиллюстрировать эту ошибку, ниже приведен пример:

   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.

В этом случае ошибка ОС = 0x139f, которая составляет 5023 в десятичном разряде. Если вы перейдете в командную строку и введите net helpmsg 5023 эту ошибку ОС, вы получите сообщение "Группа или ресурс не в правильном состоянии для выполнения запрошенной операции". Этот текст отображается после "Причина:" в примере.

Третий заполнитель — код состояния. Это внутреннее значение, указывающее, какой компонент в инициализации завершился сбоем. При необходимости корпорация Майкрософт может помочь в устранении неполадок. Ниже приведены некоторые распространенные коды состояния, которые наблюдались:

Код состояния Значение
0x01 Клиент SNI
0x04 Прослушиватель (пустой)
0x0a Поставщик TCP/IP
0x40 Поставщик общей памяти
0x50 Поставщик именованных каналов
0x80 Поставщик SSL

Причина

Может быть несколько причин, которые могут привести к этой ошибке, но все они связаны с инициализацией сетевых библиотек или шифрованием на уровне SNI SQL Server. Далее приводятся некоторые примеры.

  • Неправильно настроенные сетевые протоколы
    • протокол не выбран
    • Указаны недопустимые 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.
    

    Убедитесь, что tls настроен правильно для SQL Server. Сведения о необходимых обновлениях см. в статье о поддержке TLS 1.2 для Microsoft SQL Server

  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 не может запускаться после настройки экземпляра для использования сертификата уровня secure Sockets Layer

  4. Используйте диспетчер конфигурации SQL Server для проверки правильной настройки сетевых протоколов. Дополнительные сведения см. в разделе "Включение или отключение сетевого протокола сервера"

  5. Используйте диспетчер конфигурации SQL Server 2019 или более поздней версии для управления сертификатами и их проверки. Дополнительные сведения см. в разделе "Управление сертификатами" (диспетчер конфигурации SQL Server)