Partilhar via


MSSQLSERVER_17182

Aplica-se a: SQL Server

Detalhes

Atributo Valor
Nome do produto SQL Server
ID do evento 17182
Origem do Evento MSSQLSERVER
Componente SQLEngine
Nome simbólico INIT_TDSSNICLIENT
Texto da mensagem Falha na inicialização de TDSSNIClient com erro 0x%lx, código de status 0x%lx. Motivo: %S_MSG%. *ls

Explicação

Quando o SQL Server é iniciado, uma das etapas necessárias é inicializar um ouvinte TDS (Tabular Data Stream) e bibliotecas de rede para aceitar conexões de entrada. Se essa inicialização falhar, o erro 17182 será gerado. As atividades de inicialização incluem iniciar a camada SNI/ouvinte TDS, configurar ou inicializar portas, protocolos, contexto de autenticação SSPI , criptografia (TLS/SSL) e assim por diante.

Normalmente, esse erro é gerado junto com outros erros MSSQLSERVER_17826 e MSSQLSERVER_17120

A mensagem de erro 17182 contém três espaços reservados que são preenchidos dinamicamente com base no problema que ocorreu. O valor hexadecimal "falha com erro 0x%lx" é o erro subjacente do sistema operacional que ocorreu. Esta é a parte mais importante do erro. O texto após "Motivo:" é a mensagem de texto associada a esse erro do sistema operacional. Para ilustrar, aqui está um exemplo desse erro:

   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.

Nesse caso, erro do sistema operacional = 0x139f, que é 5023 em decimal. Se você for a um prompt de comando e digitar net helpmsg 5023 para procurar esse erro do sistema operacional, receberá: "O grupo ou recurso não está no estado correto para executar a operação solicitada". Este texto é o que você vê depois de "Razão:" no exemplo.

O terceiro espaço reservado é o código de status. É um valor interno que indica qual componente na inicialização falhou. Isso pode ajudar a Microsoft a solucionar o problema com mais detalhes, se necessário. Aqui estão alguns códigos de status comuns que foram observados:

Código de status Significado
0x01 Cliente SNI
0x04 Nenhum ouvinte (vazio)
0x0a Provedor TCP/IP
0x40 Provedor de memória compartilhada
0x50 Provedor de pipe nomeado
0x80 Provedor SSL

Causa

Pode haver vários motivos que podem levar a esse erro, mas todos eles estão relacionados à inicialização de bibliotecas de rede ou criptografia na camada SNI (Interface de Rede) do SQL Server. Estes são alguns exemplos:

  • Protocolos de rede mal configurados
    • nenhum protocolo é selecionado
    • portas TCP inválidas são especificadas
  • TLS/SSL configurado incorretamente para criptografia de rede
    • certificado inválido,
    • versão inválida do TLS
    • Configuração de chave do Registro inválida ou ausente
  • Problema do sistema operacional com protocolos ou TLS/SSL

Ação do usuário

  1. Resolver protocolos configurados incorretamente Um problema comum relatado inclui protocolos do SQL Server configurados incorretamente. Para obter mais informações, consulte SQL Server não pode ser iniciado se todos os protocolos estiverem desabilitados. Você pode observar a seguinte sequência de erros no log de erros:

    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. Resolver problemas de configuração e atualização do TLS Outro problema comum relatado inclui a configuração do TLS no servidor, impedindo que o SQL Server crie uma tarefa de comunicação em segundo plano.

    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.
    

    Certifique-se de configurar o TLS corretamente para o SQL Server. Para obter informações sobre as atualizações necessárias, consulte Suporte do TLS 1.2 para o Microsoft SQL Server

  3. Resolver problemas de certificados de criptografia Outro problema comum é a configuração incorreta de certificados TLS/SSL que faz com que o SQL Server não consiga iniciar e iniciar um thread.

    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.
    

    Para obter mais informações, consulte O serviço SQL Server não pode ser iniciado depois que você configura uma instância para usar um certificado Secure Sockets Layer

  4. Use o SQL Server Configuration Manager para validar se os protocolos de rede foram configurados corretamente. Para obter mais informações, consulte Habilitar ou desabilitar um protocolo de rede de servidor

  5. Use o SQL Server Configuration Manager 2019 ou posterior para gerenciar certificados e validá-los. Para obter mais informações, consulte Gerenciamento de certificados (SQL Server Configuration Manager)