Compartilhar via


O serviço SQL Server não pode ser iniciado depois que você configura uma instância para usar um certificado Secure Sockets Layer

Este artigo ajuda você a resolver um problema que ocorre depois que você configura um certificado SSL que usa o Microsoft Enhanced Cryptographic Provider 1.0.

Versão original do produto: SQL Server
Número original do KB: 928779

Sintomas

Nesse cenário, você configura uma instância do SQL Server para usar um certificado SSL. O certificado SSL usa o Provedor Criptográfico Avançado 1.0.

Quando você tenta iniciar o serviço SQL Server nesse cenário, as seguintes mensagens de erro são gravadas no arquivo de log de erros do 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.

Causa

Esse problema ocorre porque você não pode usar um certificado que tenha o Provedor de Criptografia Avançado versão 1.0 como o certificado do servidor.

Solução

Para resolver esse problema, use qualquer um dos seguintes métodos:

  • Não especifique nenhum certificado para permitir que o SQL Server gere um certificado autoassinado. Para fazer isso, deixe a caixa Certificado em branco no SQL Server Configuration Manager.

    Para obter mais informações, visite os seguintes sites:

  • Use um certificado que use o RSA Channel Cryptographic Provider para o certificado do SQL Server.

  • Use o SQL Server Configuration Manager para configurar o certificado. A partir do SQL Server 2019, você pode usar o SQL Configuration Manager para exibir e validar certificados instalados em uma instância do SQL Server, identificando quais certificados podem estar próximos de expirar e outras tarefas. Para obter mais informações, consulte Gerenciamento de certificados (SQL Server Configuration Manager)

Mais informações

Os certificados SSL que usam o Provedor Criptográfico Avançado 1.0 podem ser usados para certificados de cliente. No entanto, os certificados não são adequados como certificados de servidor. Para determinar o provedor de um certificado, execute o comando em um prompt de comando: certutil -v -store my.

A seguinte mensagem de erro é mencionada na seção Sintomas :

Falha na inicialização do TDSSNIClient do servidor de data e hora com 0x80092004 de erro, código de status 0x80.

Nessa mensagem de erro, o estado de erro 0x80 indica que há um problema no certificado SSL. Além disso, 0x80092004 é um código de erro SSPI (Security Support Provider Interface) que se traduz em CRYPT_E_NOT_FOUND.