Partager via


MSSQLSERVER_17182

S’applique à :SQL Server

Détails

Attribut Valeur
Nom du produit SQL Server
ID de l’événement 17182
Source de l’événement MSSQLSERVER
Composant SQLEngine
Nom symbolique INIT_TDSSNICLIENT
Texte du message Échec de l'initialisation TDSSNIClient avec l'erreur 0x%lx, code d'état 0x%lx. Raison : %S_MSG %.*ls

Explication

Lorsque SQL Server démarre, l’une des étapes nécessaires consiste à initialiser un écouteur TDS (Tabular Data Stream) et des bibliothèques réseau pour accepter les connexions entrantes. Si cette initialisation échoue, l’erreur 17182 est déclenchée. Les activités d’initialisation incluent le démarrage de l’écouteur TDS/couche SNI, la configuration ou l’initialisation de ports, de protocoles, de contexte d’authentification SSPI , de chiffrement (TLS/SSL), etc.

En règle générale, cette erreur est générée avec d’autres erreurs MSSQLSERVER_17826 et MSSQLSERVER_17120

Le message d’erreur 17182 contient trois espaces réservés qui sont remplis dynamiquement en fonction du problème qui s’est produit. La valeur hexadécimale « failed with error 0x%lx » est l’erreur de système d’exploitation sous-jacente qui s’est produite. Il s’agit de la partie la plus importante de l’erreur. Le texte après « Raison : » est le message texte associé à cette erreur de système d’exploitation. Pour illustrer, voici un exemple de cette erreur :

   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.

Dans ce cas, erreur du système d’exploitation = 0x139f, qui est 5023 en décimal. Si vous accédez à une invite de commandes et tapez net helpmsg 5023 pour rechercher cette erreur de système d’exploitation, vous obtenez : « Le groupe ou la ressource n’est pas dans l’état correct pour effectuer l’opération demandée ». Ce texte correspond à ce que vous voyez après « Raison : » dans l’exemple.

Le troisième espace réservé est status code. Il s’agit d’une valeur interne qui indique quel composant de l’initialisation a échoué. Cela peut aider Microsoft à résoudre le problème plus en détail si nécessaire. Voici quelques codes status courants qui ont été observés :

Code d’état Signification
0x01 SNI Client
0x04 Aucun écouteur (vide)
0x0A Fournisseur TCP/IP
0x40 Fournisseur de mémoire partagée
0x50 Fournisseur de canal nommé
0x80 Fournisseur SSL

Cause

Il peut y avoir plusieurs raisons qui peuvent entraîner cette erreur, mais elles sont toutes liées à l’initialisation des bibliothèques réseau ou au chiffrement au niveau de SQL Server couche d’interface réseau (SNI). Voici quelques exemples :

  • Protocoles réseau mal configurés
    • aucun protocole n’est sélectionné
    • Des ports TCP non valides sont spécifiés
  • Tls/SSL mal configuré pour le chiffrement réseau
    • certificat non valide,
    • version TLS non valide
    • configuration de clé de Registre non valide ou manquante
  • Problème de système d’exploitation avec des protocoles ou TLS/SSL

Action de l'utilisateur

  1. Résoudre les protocoles mal configurés Un problème courant qui a été signalé inclut les protocoles de SQL Server mal configurés. Pour plus d’informations, consultez SQL Server ne peut pas démarrer si tous les protocoles sont désactivés. Vous pouvez observer la séquence d’erreurs suivante dans le journal des erreurs :

    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. Résoudre les problèmes de configuration et de mise à jour TLS Un autre problème courant qui a été signalé inclut la configuration TLS sur le serveur empêchant SQL Server de créer une tâche de communication en arrière-plan.

    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.
    

    Veillez à configurer TLS correctement pour SQL Server. Pour plus d’informations sur les mises à jour nécessaires, consultez Prise en charge de TLS 1.2 pour Microsoft SQL Server

  3. Résoudre les problèmes liés aux certificats de chiffrement Un autre problème courant est la configuration incorrecte des certificats TLS/SSL, ce qui empêche SQL Server de démarrer et de démarrer un 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.
    

    Pour plus d’informations, consultez SQL Server service ne peut pas démarrer après avoir configuré un instance pour utiliser un certificat Secure Sockets Layer

  4. Utilisez Gestionnaire de configuration SQL Server pour vérifier que les protocoles réseau ont été correctement configurés. Pour plus d’informations, consultez Activer ou désactiver un protocole réseau de serveur

  5. Utilisez Gestionnaire de configuration SQL Server 2019 ou version ultérieure pour gérer les certificats et les valider. Pour plus d’informations, consultez Gestion des certificats (Gestionnaire de configuration SQL Server)