Partager via


Le service SQL Server ne peut pas démarrer après avoir configuré une instance pour utiliser un certificat Secure Sockets Layer

Cet article vous aide à résoudre un problème qui se produit après avoir configuré un certificat SSL qui utilise Microsoft Enhanced Cryptographic Provider 1.0.

Version du produit d’origine : SQL Server
Numéro de base de connaissances d’origine : 928779

Symptômes

Dans ce scénario, vous configurez une instance de SQL Server pour utiliser un certificat SSL. Le certificat SSL utilise le fournisseur de chiffrement amélioré 1.0.

Lorsque vous essayez de démarrer le service SQL Server dans ce scénario, les messages d’erreur suivants sont écrits dans le fichier Errorlog 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.

Cause

Ce problème se produit, car vous ne pouvez pas utiliser de certificat avec le fournisseur de chiffrement amélioré version 1.0 comme certificat de serveur.

Résolution

Pour résoudre ce problème, utilisez l’une des méthodes suivantes :

  • Ne spécifiez aucun certificat pour permettre au serveur SQL de générer un certificat auto-signé. Pour ce faire, laissez la zone Certificat vide dans la Gestionnaire de configuration SQL Server.

    Pour plus d’informations, visitez les sites suivants :

  • Utilisez un certificat qui utilise le fournisseur de chiffrement de canal RSA pour le certificat SQL Server.

  • Utilisez Gestionnaire de configuration SQL Server pour configurer le certificat. À compter de SQL Server 2019, vous pouvez utiliser le Gestionnaire de configuration SQL pour afficher et valider les certificats installés dans une instance SQL Server, identifiant les certificats susceptibles d’être proches de l’expiration et d’autres tâches. Pour plus d’informations, consultez Gestion des certificats (Gestionnaire de configuration SQL Server)

Plus d’informations

Les certificats SSL qui utilisent le fournisseur de chiffrement amélioré 1.0 peuvent être utilisés pour les certificats clients. Toutefois, les certificats ne sont pas appropriés en tant que certificats serveur. Pour déterminer le fournisseur d’un certificat, exécutez la commande à l’invite de commandes : certutil -v -store my.

Le message d’erreur suivant est mentionné dans la section Symptômes :

L’initialisation TDSSNIClient du serveur de date a échoué avec l’erreur 0x80092004, le code d’état 0x80.

Dans ce message d’erreur, l’état d’erreur 0x80 indique qu’il existe un problème dans le certificat SSL. En outre, 0x80092004 est un code d’erreur SSPI (Security Support Provider Interface) qui se traduit par CRYPT_E_NOT_FOUND.