SQL Server serviço não pode começar depois que você configurar uma instância para usar um certificado de Camada de Soquetes Seguros

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

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

Sintomas

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

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

Motivo

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.

Resolução

Para resolve 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 usa o provedor criptográfico do Canal RSA para o certificado SQL Server.

  • Use SQL Server Configuration Manager para configurar o certificado. Começando com SQL Server 2019, você pode usar o SQL Configuration Manager para exibir e validar certificados instalados em uma instância 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

Certificados SSL que usam o Provedor de Criptografia Avançado 1.0 podem ser usados para certificados de cliente. No entanto, os certificados são inadequados 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 :

A inicialização TDSSNIClient do Servidor de Data/Hora falhou com 0x80092004 de erro, status 0x80 de código.

Nesta 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 (Interface do Provedor de Suporte à Segurança) que se traduz em CRYPT_E_NOT_FOUND.