SQL Server não pode começar se todos os protocolos estiverem desabilitados

Aplica-se ao: SQL Server

Sintomas

Se todos os protocolos de rede de uma instância do Microsoft SQL Server estiverem desabilitados, SQL Server não iniciará e você receberá a seguinte mensagem de erro, dependendo de como você tentar iniciar o serviço:

  • Usando o applet dos Serviços:

    O Windows não pôde iniciar o SQL Server (MSSQLSERVER) no computador local. Para obter mais informações, examine o Log de Eventos do Sistema.
    Se este for um serviço que não é da Microsoft, entre em contato com o fornecedor de serviços e consulte o código de erro específico do serviço 13.

  • Usando um prompt de comando:

    C:\Users\username>NET START MSSQLSERVER
    O serviço SQL Server (MSSQLSERVER) está começando.
    O serviço SQL Server (MSSQLSERVER) não pôde ser iniciado.
    Ocorreu um erro específico do serviço: 13. Mais ajuda está disponível digitando o NET HELPMSG 3547.

Resolução

Veja como resolve esse problema:

  1. Verifique o log de eventos do Sistema e verifique se você vê a seguinte entrada de evento:

    Event ID: 7024  
    The SQL Server (MSSQLSERVER) service terminated with the following service-specific error:  
    The data is invalid.  
    
  2. Verifique o log de erros SQL Server e verifique se você vê entradas de mensagem de erro que se assemelham ao seguinte:

    <Datetime> spid9s      Server name is '<ServerName>'. This is an informational message only. No user action is required.  
    <Datetime> spid17s     Error: 17182, Severity: 16, State: 1.  
    <Datetime> spid17s     TDSSNIClient initialization failed with error 0xd, status code 0x4. Reason: **All protocols are disabled. The data is invalid**.  
    <Datetime> spid17s     Error: 17182, Severity: 16, State: 1.  
    <Datetime> spid17s     TDSSNIClient initialization failed with error 0xd, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. The data is invalid.  
    .  
    .  
    <Datetime> spid17s     Error: 17826, Severity: 18, State: 3.  
    <Datetime> spid17s     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.  
    <Datetime> spid17s     Error: 17120, Severity: 16, State: 1.  
    <Datetime> spid17s     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.  
    
  3. Depois de verificar o problema mencionado na seção Sintomas, use o nó SQL Server Configuração de Rede de SQL Server Configuration Manager para habilitar os protocolos de rede necessários. Em seguida, reinicie o serviço SQL Server.

    Observação

    • Se você não quiser habilitar conexões remotas para sua instância de SQL Server, poderá habilitar apenas o protocolo Memória Compartilhada e reiniciar o serviço SQL Server.

    • Você também pode validar as configurações da biblioteca de rede usando as seguintes chaves de registro

      Se o Enabled valor for definido como zero, a biblioteca de rede correspondente será desabilitada.

      • Memória compartilhada: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Sm\Enabled
      • TCP/IP: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp\Enabled
      • Pipes nomeados: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Np\Enabled