Vue d’ensemble de l’Configuration Manager Kerberos pour SQL Server

S’applique à : SQL Server

Numéro de la base de connaissances d’origine : 2985455

Une configuration Kerberos incorrecte dans votre réseau peut entraîner diverses erreurs de connectivité dans Microsoft SQL Server. Kerberos Configuration Manager pour SQL Server est un outil de diagnostic qui vous permet de résoudre les problèmes de connectivité liés à Kerberos qui affectent SQL Server, SQL Server Reporting Services (SSRS) et SQL Server Analysis Services (SSAS). Cet article fournit des informations sur l’utilisation de l’outil Configuration Manager Kerberos et sur l’interprétation de la sortie de l’outil pour résoudre les problèmes Kerberos qui affectent SQL Server.

Remarque

Le Configuration Manager Kerberos est fourni tel quel et aucun support technique ni aucune mise à jour n’est proposé pour celui-ci. Il n’a pas été mis à jour pour utiliser SQL Server 2022 et versions ultérieures du fournisseur WMI. Pour résoudre et diagnostiquer les problèmes de configuration Kerberos liés à SQL Server, consultez SQLCheck.

Fonctions du Configuration Manager Kerberos

Les Configuration Manager Kerberos peuvent effectuer les tâches suivantes :

  • Collectez des informations sur le système d’exploitation, les instances microsoft SQL Server et les écouteurs de groupe de disponibilité Always On installés sur un serveur.
  • Signaler toutes les configurations de nom de principal du service (SPN) et de délégation sur le serveur.
  • Identifiez les problèmes potentiels dans les spN et les délégations.
  • Résoudre les problèmes potentiels de SPN.

Scénarios d'utilisation

Cet outil vous aide à résoudre les exceptions suivantes :

  • 401

    Note: Ce message d’erreur concerne les erreurs HTTP, les erreurs SSRS et d’autres erreurs similaires.

  • Impossible de générer le contexte SSPI
  • Échec de la connexion pour l’utilisateur « NTAUTHORITY\ANONYMOUS LOGON »
  • Échec de la connexion pour l’utilisateur « (null) »
  • Échec de la connexion pour l’utilisateur (vide)

Remarque

Avant de commencer à résoudre les problèmes, nous vous recommandons de passer en revue les prérequis, puis de passer en revue la liste de contrôle générale pour résoudre les erreurs liées à la connectivité.

Remarque

Si vous disposez d’un accès administrateur à votre ordinateur SQL Server, vous pouvez également exécuter l’outil de vérification des paramètres de connectivité SQL sur cet ordinateur, puis passer en revue la sortie pour case activée la configuration SPN de votre instance SQL Server.

Téléchargement de l’outil

Cet outil est disponible en téléchargement à partir du Centre de téléchargement Microsoft :

Microsoft Kerberos Configuration Manager pour SQL Server

Remarque

Vous pouvez télécharger et installer l’outil sur n’importe quel ordinateur de votre domaine qui peut se connecter à l’ordinateur SQL Server.

Autorisations

Pour résoudre les problèmes de connectivité qui affectent SQL, SSRS et SSAS, connectez-vous à l’ordinateur de destination (qui héberge le service) à l’aide d’un compte d’utilisateur de domaine disposant d’autorisations administratives sur cet ordinateur.

Facultatif : si vous souhaitez utiliser l’outil pour résoudre les problèmes spN identifiés par l’outil, le compte de domaine doit disposer de l’autorisation Écriture validée dans le nom du principal du service .

Utilisation de l’outil

Une fois l’installation terminée, démarrez l 'KerberosConfigMgr.exe binaire en accédant au dossier d’installation. Par défaut, l’emplacement est C :\Program Files\Microsoft\Kerberos Configuration Manager pour SQL Server.

Pour plus d’informations sur le démarrage d’une application en tant qu’administrateur ou utilisateur différent, consultez Utiliser Exécuter pour démarrer une application en tant qu’administrateur.

Utilisez l’une des options suivantes pour démarrer la résolution des problèmes :

  • Pour vous connecter à un ordinateur distant SQL Server, entrez les valeurs appropriées pour Nom du serveur, Nom d’utilisateur de domaine et Mot de passe.

    Remarque

    L’outil kerberos Configuration Manager utilise une API Windows pour interroger et afficher des informations sur la configuration Kerberos de l’ordinateur SQL Server. Par conséquent, entrez toujours le nom de l’ordinateur qui héberge le SQL Server instance, même si vous résolvez des problèmes liés à Kerberos pour un instance nommé.

  • Pour vous connecter à un serveur local, sélectionnez Se connecter pour analyser votre configuration Kerberos. Dans ce cas, vous n’avez pas besoin de spécifier le nom du serveur, le nom d’utilisateur de domaine ou le mot de passe.

    Remarque

    Le compte qui démarre l’outil doit être un compte d’administrateur local. Pour plus d’informations sur le démarrage d’une application en tant qu’administrateur ou utilisateur différent, consultez Utiliser Exécuter pour démarrer une application en tant qu’administrateur.

Une fois la connexion établie, tous les SPN associés sont affichés dans la capture d’écran suivante.

Capture d’écran d’une vue des trois onglets dans kerberos Configuration Manager.

Dans cette capture d’écran, l’interface utilisateur a les onglets suivants :

  • Système : affiche les informations utilisateur et les informations de l’ordinateur.

  • SPN : affiche les informations de nom de principal du service (SPN) sur chacune des instances SQL Server qui se trouvent sur le serveur cible, et fournit des détails tels que le SPN requis et son status.

  • Générer : vous aide à trouver les noms de principal du service manquants et configurés. Il vous aide également à générer le script de génération de SPN.

    1. Sélectionnez ensuite Générer.
    2. Dans la boîte de dialogue qui s’ouvre, indiquez un nom (dans ce cas, « generateSPNss »), définissez Type d’enregistrement sous comme fichier De configuration Kerberos Mgr(.cmd), puis sélectionnez Enregistrer.

    Boîte de dialogue pour fournir un nom pour le fichier CMD.

Le fichier generateSPNss.cmd est créé et vous pouvez exécuter ce fichier à l’invite de commandes. Le contenu du fichier generateSPNss.cmd ressemblera à l’exemple suivant :

:: This script is generated by the Microsoft® SQL Server® Kerberos Configuration Manager tool.

:: The script may update the system information, SPN settings and Delegation configurations of a given server.

:: SPN and Delegation configuration updates require Windows Domain Administrator permission to execute.

:: A Domain Admin should review the configurations recommended by this tool and take appropriate actions to enable Kerberos authentication.

:: Please contact Microsoft Support if Kerberos connection problem persists.

:: The file is intended to be run in domain `<DomainName>.com`"

:: Corrections for MSSQLSvc/`<HostName>.<DomainName>.com` **SetSPN -s MSSQLSvc/`<HostName>`. `<DomainName>`.com UserName** 
  • Utilisez SetSPN pour créer un SPN sous le compte de service pour SQL Server.

  • Utilisez Corriger pour résoudre les problèmes et ajouter des noms de service. Vous pouvez ajouter un SPN uniquement si vous disposez des autorisations requises. Lorsque vous sélectionnez Corriger, l’info-bulle suivante s’affiche :

    Capture d’écran de l’option Corriger pour ajouter le SPN.

    Remarque

    L’outil fournit les commandes Corriger et générer uniquement pour les instances par défaut et les instances nommées qui ont des ports statiques. Pour les instances nommées qui utilisent des ports dynamiques, nous vous recommandons de passer des ports dynamiques aux ports statiques ou de fournir les autorisations nécessaires pour que le compte de service inscrive et annule l’inscription du SPN chaque fois que le service SQL est démarré. Sinon, vous devez annuler l’inscription manuellement et réinscrire les SPN correspondants chaque fois que le service est démarré. Pour plus d’informations, consultez Inscrire un nom de principal de service pour les Connections Kerberos.

  • Délégation : utilisez la délégation pour identifier les problèmes qui affectent la configuration de la délégation du compte de service. Cela est particulièrement utile pour résoudre les problèmes de serveur lié. Par exemple, si l’extraction du SPN est correcte, mais que vous rencontrez toujours des problèmes qui affectent les requêtes de serveur lié, cela peut indiquer que le compte de service n’est pas configuré pour déléguer les informations d’identification. Pour plus d’informations, consultez la rubrique en ligne de la page Configuration des serveurs liés pour la délégation.

    Capture d’écran de l’onglet Délégation.

Interprétation et action du diagnostic à partir du Configuration Manager Kerberos

Passez en revue le diagnostic à partir de l’outil en faisant référence à la colonne État . En fonction des status, suivez les étapes appropriées pour résoudre le problème.

  • État - Bon

    Informations supplémentaires : L’élément coché est configuré correctement. Accédez à l’élément suivant dans la sortie.

    Action : aucune action n’est requise.

  • État : le SPN requis est manquant

    Informations supplémentaires : Cette status est signalée si le nom du principal du service (SPN) mentionné dans la colonne SpN requis est manquant pour le compte de démarrage SQL Server dans Active Directory.

    Action : Suivez ces étapes pour case activée si les problèmes de SPN sont résolus :

    1. Sélectionnez Corriger pour passer en revue les informations de la boîte de dialogue Avertissement .
    2. Sélectionnez Oui pour ajouter le SPN manquant à Active Directory.
    3. Si votre compte de domaine dispose des autorisations nécessaires pour mettre à jour Active Directory, le SPN requis est ajouté à Active Directory.
    4. Si votre compte de domaine ne dispose pas des autorisations nécessaires pour mettre à jour Active Directory, utilisez Générer ou Générer tout pour générer le script qui aidera l’administrateur Active Directory à ajouter les noms de principal du service manquants.
    5. Une fois les noms de principal du service ajoutés, réexécutez Kerberos Configuration Manager pour vérifier que les problèmes de SPN sont résolus.
  • État : TCP doit être activé pour utiliser la configuration Kerberos.

    Informations supplémentaires : Cette status s’affiche si TCP n’est pas activé sur l’ordinateur client.

    Action : Procédez comme suit pour activer le protocole TCP/IP pour le SQL Server instance :

    1. Dans Gestionnaire de configuration SQL Server - Console, développez SQL Server Configuration réseau.

    2. Dans console, sélectionnez Protocoles pour <instance name>.

    3. Dans Détails, sélectionnez TCP/IP , puis Activer.

    4. Dans Console, sélectionnez SQL Server Services.

    5. Dans Détails, sélectionnez SQL Server pour <instance name>.

    6. Sélectionnez Redémarrer pour arrêter et redémarrer le service SQL Server. Pour plus d’informations, consultez la section Activer ou désactiver un protocole réseau de serveur.

  • État - Port dynamique

    Informations supplémentaires : Cette status s’affiche pour les instances nommées qui utilisent des ports dynamiques (configuration par défaut). Dans les environnements où vous devez utiliser Kerberos pour vous connecter à SQL Server, vous devez définir votre instance nommée pour utiliser un port statique et utiliser ce port lorsque vous inscrivez le SPN. Sinon, le SPN inscrit dans Active Directory devient non valide la prochaine fois qu’un instance nommé commence à écouter sur un nouveau port autre que celui sous lequel le SPN a été inscrit.

    Remarque

    Cette recommandation s’applique uniquement aux environnements qui dépendent de l’inscription manuelle du SPN.

    Action : Procédez comme suit pour configurer le SQL Server instance pour utiliser un port statique :

    1. Dans Gestionnaire de configuration SQL Server - Console, développez SQL Server Configuration réseau, développez Protocoles pour <instance name>, puis double-cliquez sur TCP/IP.
    2. Dans Propriétés TCP/IP, sélectionnez Écouter tout dans le protocole.
    3. Si l’option Écouter tout est définie sur Oui, basculez vers Adresses IP, puis faites défiler jusqu’au bas de la fenêtre pour rechercher le paramètre IPAll .
    4. Supprimez la valeur actuelle dans Ports dynamiques TCP et entrez un numéro de port dans le port TCP.
    5. Sélectionnez OK, puis redémarrez le SQL Server instance. Pour plus d’informations, consultez la section Configurer un serveur pour l’écoute sur un port TCP spécifique.
    6. Si l’option Écouter tout est définie sur Non, basculez vers Adresses IP et case activée chaque adresse IP qui apparaît dans les nœuds IP1 et IP2. Pour les adresses définies sur Activé, supprimez la valeur actuelle dans Ports dynamiques TCP, puis définissez une valeur dans Port TCP.
    7. Sélectionnez OK, puis redémarrez la SQL Server instance pour que les paramètres prennent effet. Pour plus d’informations, consultez la section Configurer un serveur pour l’écoute sur un port TCP spécifique.
  • État - SpN dupliqué

    Informations supplémentaires : Vous pouvez rencontrer ce scénario si le même SPN est inscrit sous différents comptes dans Active Directory.

    Actions : Procédez comme suit pour ajouter un SPN à Active Directory :

    1. Sélectionnez Corriger.

    2. Vérifiez les informations dans la boîte de dialogue Avertissement .

    3. Sélectionnez Oui pour ajouter le SPN manquant à Active Directory.

      • Si votre compte de domaine dispose des autorisations nécessaires pour mettre à jour Active Directory, le SPN incorrect est supprimé.

      • Si votre compte de domaine ne dispose pas des autorisations nécessaires pour mettre à jour Active Directory, utilisez Générer ou Générer tout pour générer le script nécessaire que vous pouvez fournir à votre administrateur Active Directory pour supprimer les spN dupliqués.

    4. Une fois les spN supprimés, réexécutez Kerberos Configuration Manager pour vérifier que les problèmes de SPN sont résolus.

    Remarque

    Lorsqu’une instance du moteur de base de données SQL Server démarre, SQL Server tente d’inscrire le SPN pour le service SQL Server. Lorsque le instance est arrêté, SQL Server tente d’annuler l’inscription du SPN. Pour ce faire, le compte de service SQL Server nécessite les autorisations appropriées dans Active Directory. Toutefois, si le compte de service ne dispose pas de ces droits, l’inscription automatique du SPN n’a pas lieu et vous devez travailler avec votre administrateur Active Directory pour inscrire ces SPN afin que les instances SQL puissent activer l’authentification Kerberos. Pour plus d’informations, consultez Inscrire un nom de principal de service pour les Connections Kerberos.

    Remarque

    Dans les environnements où SQL est en cluster, l’inscription automatique des SPN n’est pas recommandée, car la désinscription du SPN et la réinscription du SPN dans Active Directory peuvent prendre plus de temps que le temps nécessaire à SQL Server pour se connecter. Si l’inscription du SPN n’a pas lieu à temps, cela peut empêcher SQL Server d’être en ligne, car l’administrateur de cluster ne peut pas se connecter à l’SQL Server instance.

Options supplémentaires

Pour générer la liste spN à partir de la ligne de commande :

  1. Accédez à la ligne de commande.

    Remarque

    Pour résoudre les problèmes de connectivité qui affectent SSRS, ouvrez une fenêtre d’invite de commandes d’administration.

  2. Basculez vers le dossier qui contient KerberosConfigMgr.exe.

  3. Entrez KerberosConfigMgr.exe -q -l.

  4. Pour plus d’options de ligne de commande, tapez KerberosConfigMgr.exe -h.

Pour enregistrer les informations de configuration Kerberos d’un serveur :

  1. Connectez-vous au serveur Windows cible.
  2. Sélectionnez Enregistrer.
  3. Spécifiez l’emplacement dans lequel vous souhaitez enregistrer le fichier. Il peut s’agir d’un lecteur local ou d’un partage réseau. Le fichier sera enregistré au format .xml .

Pour afficher les informations de configuration Kerberos d’un serveur à partir du fichier enregistré :

  1. Sélectionnez Charger.
  2. Ouvrez le fichier XML généré par Kerberos Configuration Manager.

Pour afficher les fichiers journaux de cet outil :

Par défaut, un fichier journal est généré chaque fois que l’application est exécutée dans votre dossier de données d’application : %APPDATA%\Microsoft\KerberosConfigMgr.

Pour obtenir de l’aide, utilisez l’une des méthodes suivantes :

  • Placez le pointeur de la souris sur la commande pour générer une info-bulle.
  • Exécutez KerberosConfigMgr.exe -h à l’invite de commandes.
  • Sélectionnez le bouton Aide dans la barre d’outils.

Voir aussi