Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : SQL Server sur Windows
Résumé
Cet article est le point d’entrée vers les défaillances liées à l’installation de SQL Server, à la mise à niveau, au démarrage des services, à SQL Server Agent, aux instances de cluster de basculement (FCI), à Kerberos, aux serveurs liés et aux groupes de disponibilité, qui se produisent lorsque les services SQL Server s’exécutent sous un compte de service administré de groupe (gMSA). La plupart de ces symptômes ont les mêmes causes sous-jacentes, qu’un gMSA soit impliqué ou non ; chaque article de scénario se concentre donc sur les vérifications spécifiques au gMSA et renvoie, pour tout le reste, à l’article canonique de dépannage.
Commencez par la liste de contrôle de validation rapide. Utilisez ensuite le chemin de résolution des problèmes correspondant à l’échec observé pour trouver l’article de scénario qui comporte les étapes de diagnostic et de résolution. Pour plus d’informations sur la sélection et la configuration des comptes de service pour SQL Server, y compris les comptes de service gérés et les gMSA, consultez Configurer Windows comptes de service et autorisations. Pour connaître la création et la gestion de gMSA dans Active Directory, consultez Gérer les comptes de service gérés par groupe.
Prerequisites
- Accès administratif local à chaque nœud hôte ou cluster affecté SQL Server.
- Accès aux journaux d’amorçage du programme d’installation de SQL Server, au journal des erreurs de SQL Server, au journal des erreurs de l’Agent SQL Server et aux journaux des applications et du système Windows.
- Module PowerShell Active Directory pour
Get-ADServiceAccountetTest-ADServiceAccount. Si le module n'est pas présent, consultez Installer et gérer les outils d'administration de serveur distant dans Windows. - Autorisations appropriées dans Active Directory, ou assistance d’un administrateur Active Directory, pour valider la récupération du mot de passe, les noms de principal de service (SPN), la délégation et les hôtes autorisés.
- Autorisation d’exécuter Transact-SQL requêtes de diagnostic lorsque le Moteur de base de données est disponible. Les requêtes de diagnostic de cet article et des articles de scénario interrogent les vues de gestion dynamique à l’échelle du serveur et les vues de catalogue. Pour connaître les autorisations requises, qui varient selon la version, consultez vues et fonctions de gestion dynamique système.
Important
Collectez des preuves avant de modifier les comptes de service, la stratégie de sécurité, les valeurs du Registre, les SPN ou les paramètres du cluster de basculement. Enregistrez le temps d’échec et le fuseau horaire du serveur. Exécutez les commandes de validation de l’hôte localement sur chaque serveur autonome concerné, nœud de cluster ou réplica, puis comparez les résultats. Remplacez l’exemple de compte, de service, d’instance et de noms de domaine par des valeurs de votre environnement.
Liste de contrôle pour une validation rapide
Exécutez ces vérifications sur chaque hôte concerné avant d’ouvrir un article spécifique au scénario. Pour un FCI ou un groupe de disponibilité, exécutez-les sur chaque nœud propriétaire possible ou sur chaque réplica, puis comparez les résultats.
Vérifiez les identités de service configurées de SQL Server et de SQL Server Agent en examinant la valeur Log On As dans Gestionnaire de configuration SQL Server et la sortie
SERVICE_START_NAMEdesc.exe qc.Pour une instance par défaut, exécutez les commandes suivantes.
sc.exe qc MSSQLSERVER sc.exe qc SQLSERVERAGENTRésultat attendu :
SERVICE_START_NAMEidentifie le gMSA prévu. Pour une instance nommée, utilisezMSSQL$<InstanceName>etSQLAgent$<InstanceName>. Remplacez par<InstanceName>le nom de l’instance.Vérifiez qu’Active Directory peut trouver le compte gMSA en exécutant
Get-ADServiceAccountet en vérifiant que la commande renvoie le compte attendu.Exécutez la commande suivante dans une session PowerShell avec élévation de privilèges.
Get-ADServiceAccount -Identity 'SQLgMSA' -Properties PrincipalsAllowedToRetrieveManagedPasswordRésultat attendu :
Get-ADServiceAccountretourne le compte prévu et répertorie l’hôte.Vérifiez que le compte d’ordinateur hôte, ou un groupe qui le contient, est répertorié dans
PrincipalsAllowedToRetrieveManagedPassword.Testez la récupération du mot de passe depuis chaque hôte concerné ou tout nœud propriétaire potentiel en exécutant localement
Test-ADServiceAccountet en confirmant qu’il renvoieTrue.Exécutez la commande suivante dans une session PowerShell avec élévation de privilèges.
Test-ADServiceAccount -Identity 'SQLgMSA'Résultat attendu :
Test-ADServiceAccountretourneTruesur chaque hôte qui peut exécuter le service SQL Server.Vérifiez que Service Control Manager considère le compte de service comme géré en exécutant
sc.exe qmanagedaccountpour le nom exact du service SQL Server ou SQL Server Agent et en vérifiant qu’il indiqueTRUE.Pour une instance par défaut, exécutez les commandes suivantes.
sc.exe qmanagedaccount MSSQLSERVER sc.exe qmanagedaccount SQLSERVERAGENTRésultat attendu :
qmanagedaccountrapportsTRUE.Vérifiez le DNS, la découverte du contrôleur de domaine, l’état du canal sécurisé et la synchronisation de l’heure.
Exécutez les commandes suivantes. Remplacez
contoso.compar le nom de domaine Active Directory.nltest /dsgetdc:contoso.com nltest /sc_verify:contoso.com w32tm /query /statusRésultat attendu : un contrôleur de domaine est découvert, le canal sécurisé réussit et l’état de temps est sain.
Si SQL Server démarre, confirmez le schéma d’authentification actuel en interrogeant
sys.dm_exec_connectionsà partir d’une session Windows distante authentifiée.
Pour obtenir des vérifications gMSA supplémentaires au niveau de l'hôte qui ne sont pas spécifiques à SQL Server, consultez Résoudre les problèmes de gMSA pour les conteneurs Windows.
Choisir un chemin de résolution des problèmes
| Symptôme observé | Reportez-vous à |
|---|---|
| Le programme d’installation rejette le gMSA ou ne peut pas le valider | Résoudre les problèmes d’installation et de mise à niveau avec des gMSA |
| Le programme d’installation échoue avec 0x84BB0001 ou « Accès refusé » | Le programme d’installation échoue avec l’erreur 0x84BB0001 |
| Erreur 1069, ID d’événement 7041 ou ID d’événement 7038 | Résoudre les échecs de démarrage de service avec des gMSA |
| Le service échoue uniquement pendant le démarrage | Résoudre les échecs de démarrage de service avec des gMSA |
IsManagedAccount ou qmanagedaccount est FALSE |
Résoudre les échecs de démarrage de service avec des gMSA |
| SQL Server Agent démarre, mais les travaux échouent | Résoudre les problèmes d’échec des travaux de l’Agent SQL Server avec les gMSA |
| Échec de l’installation, de l’ajout de nœud, du démarrage ou du basculement de FCI | Résoudre les problèmes liés aux échecs des instances de cluster de basculement avec les gMSA |
| Échec de secours NTLM, erreur SPN, LOGON ANONYME ou échec d’authentification du point de terminaison du groupe de disponibilité | Résoudre les problèmes liés à Kerberos et aux échecs d’authentification avec des gMSA |
| Échec de la mise à niveau avec l’erreur 29569 | SQL Server mise à niveau échoue avec l’erreur 29569 |
Collecter des données de diagnostic
Si la liste de contrôle de validation rapide et les vérifications spécifiques au scénario n’isolent pas la cause, collectez les données de diagnostic suivantes avant de poursuivre l’investigation ou d’ouvrir un cas de support. Rassemblez chaque artefact à partir du même intervalle d’échec afin que la preuve soit corrélée.
Collectez les éléments spécifiques à gMSA suivants sur chaque hôte, nœud ou réplique concerné :
-
Get-ADServiceAccountrésultat, y comprisPrincipalsAllowedToRetrieveManagedPassword. -
Test-ADServiceAccountrésultat. -
sc.exe qcetsc.exe qmanagedaccountrésultats pour les services SQL Server et SQL Server Agent. -
nltest /dsgetdc,nltest /sc_verifyetw32tm /query /statusen sortie. - Attributions efficaces des droits utilisateur et
gpresultsortie. - Propriété des SPN et vérification des doublons pour le gMSA.
- Pour un FCI, le journal du cluster couvrant la transition de ressource.
Collectez les données de diagnostic standard SQL Server suivantes pour le même intervalle :
- Journaux de configuration, y compris
Detail.txt,Summary.txtet les journaux spécifiques aux fonctionnalités. Consultez Afficher et lire les fichiers journaux d’installation de SQL Server. - Journaux d’erreurs SQL Server actuels et archivés, journaux de SQL Server Agent et historique des tâches en échec.
- Journaux d’événements système, d’application et de sécurité pertinents.
Pour la sélection d’outils et la collecte automatisée, consultez Résolution des problèmes et outils de diagnostic pour SQL Server. Vous pouvez utiliser SQL LogScout pour automatiser la collecte lorsqu’elle est appropriée pour l’examen.