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

Au démarrage de SQL Server, 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 SNI/TDS, la configuration ou l’initialisation des ports, protocoles, contexte d’authentification SSPI , chiffrement (TLS/SSL) et ainsi de suite.

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 « échec avec l’erreur 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 suivant « Raison : » est le message texte associé à cette erreur de système d’exploitation. Pour illustrer ce problème, 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 de 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 est ce que vous voyez après « Raison : » dans l’exemple.

Le troisième espace réservé est le code d’état. Il s’agit d’une valeur interne qui indique quel composant dans l’initialisation a échoué. Cela peut aider Microsoft à résoudre le problème plus en détail si nécessaire. Voici quelques codes d’état 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 pour lesquelles l’erreur peut entraîner cette erreur, mais elles sont toutes liées à l’initialisation des bibliothèques réseau ou au chiffrement au niveau de la couche SNI (SQL Server Network Interface). Voici quelques exemples :

  • Protocoles réseau mal configurés
    • aucun protocole n’est sélectionné
    • Les 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 les 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 des protocoles 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ésolvez les problèmes de configuration et de mise à jour TLS Un autre problème courant 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 la prise en charge de TLS 1.2 pour Microsoft SQL Server

  3. Résoudre les problèmes de certificats de chiffrement Un autre problème courant est la configuration incorrecte des certificats TLS/SSL, ce qui entraîne l’impossibilité pour 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 le service SQL Server ne peut pas démarrer après avoir configuré une instance pour utiliser un certificat Secure Sockets Layer

  4. Utilisez Gestionnaire de configuration SQL Server pour valider 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)