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 SQL Server é iniciado, uma das etapas que ele executa é inicializar um ouvinte de fluxo de dados tabular (TDS) 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 o ouvinte de camada de SNI/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 em qual problema ocorreu. O valor hexadecimal "falhou com o erro 0x%lx" é o erro subjacente do sistema operacional ocorrido. Essa é 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 deste 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ê acessar um Prompt de Comando e digitar net helpmsg 5023 para pesquisar esse erro do sistema operacional, receberá: "O grupo ou recurso não está no estado correto para executar a operação solicitada". Esse texto é o que você vê depois de "Reason:" no exemplo.

O terceiro espaço reservado é status código. É um valor interno que indica qual componente na inicialização falhou. Isso pode ajudar a Microsoft a solucionar o problema mais detalhadamente, 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 pelos quais o pode levar a esse erro, mas todos eles estão relacionados à inicialização de bibliotecas de rede ou criptografia na camada de interface de rede (SNI) SQL Server. Estes são alguns exemplos:

  • Protocolos de rede configurados incorretamente
    • nenhum protocolo está 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 de SQL Server configurados incorretamente. Para obter mais informações, consulte SQL Server não poderá iniciar 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 SQL Server criem 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.
    

    Verifique se você configurou o TLS corretamente para 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 levam a SQL Server não poder 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 SQL Server serviço não pode ser iniciado depois de configurar uma instância para usar um certificado de camada de soquetes seguros

  4. Use 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 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)