Partager via


Résoudre les problèmes liés à l’utilitaire SQL Server

La résolution des problèmes liés à l’utilitaire SQL Server peut inclure la résolution d’une opération ayant échoué pour inscrire une instance de SQL Server avec un UCP, résoudre les problèmes de collecte de données ayant échoué, ce qui entraîne des icônes grises dans l’affichage liste d’instances managées sur un UCP, l’atténuation des goulots d’étranglement des performances ou la résolution des problèmes d’intégrité des ressources. Pour plus d’informations sur l’atténuation des problèmes d’intégrité des ressources identifiés par un UCP SQL Server, consultez Résoudre les problèmes d’intégrité des ressources SQL Server (utilitaire SQL Server).

Échec de l’opération pour inscrire une instance de SQL Server dans un utilitaire SQL Server

Si vous vous connectez à l’instance de SQL Server pour vous inscrire à l’aide de l’authentification SQL Server et que vous spécifiez un compte proxy appartenant à un domaine Active Directory différent du domaine où se trouve l’UCP, la validation de l’instance réussit, mais l’opération d’inscription échoue avec le message d’erreur suivant :

Une exception s'est produite lors de l'exécution d'une instruction ou d'un lot Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

Informations supplémentaires : Impossible d’obtenir des informations sur le groupe/l’utilisateur Windows NT «< DomainName\AccountName> », code d’erreur 0x5. (Microsoft SQL Server, Erreur : 15404)

Ce problème se produit dans l’exemple de scénario suivant :

  1. L’UCP est membre de « Domain_1 ».

  2. Une relation d’approbation de domaine unidirectionnelle est en place : autrement dit, « Domain_1 » n’est pas approuvée par « Domain_2 », mais « Domain_2 » est approuvée par « Domain_1 ».

  3. L’instance de SQL Server pour inscription dans l’utilitaire SQL Server est également membre de « Domain_1 ».

  4. Pendant l’opération d’inscription, connectez-vous à l’instance de SQL Server pour l’inscrire à l’aide de « sa ». Spécifiez un compte proxy à partir de « Domain_2 ».

  5. La validation réussit, mais l’inscription échoue.

La solution de contournement pour ce problème, à l’aide de l’exemple ci-dessus, consiste à se connecter à l’instance de SQL Server pour s’inscrire à l’utilitaire SQL Server à l’aide de « sa » et fournir un compte proxy à partir de « Domain_1 ».

Échec de la validation WMI

Si WMI n’est pas correctement configuré sur une instance de SQL Server, les opérations Créer un UCP et Inscrire une instance managée affichent un avertissement, mais l’opération n’est pas bloquée. En outre, si vous modifiez la configuration du compte SQL Server Agent afin que SQL Server Agent n’ait pas l’autorisation requise pour les classes WMI requises, la collecte de données sur l’instance managée affectée de SQL Server ne parvient pas à être téléchargée sur l’UCP. Cela entraîne des icônes grises dans l’UCP.

Échec de la collecte de données entraîne des icônes d’état gris dans l’affichage liste UCP pour les instances managées affectées de SQL Server. L’historique des travaux sur l’instance managée de SQL Server montre que sysutility_mi_collect_and_upload échoue à l’étape 2 (Données intermédiaires collectées à partir du script PowerShell).

Les messages d’erreur simplifiés sont les suivants :

L’exécution de la commande s’est arrêtée, car la variable d’interpréteur de commandes « ErrorActionPreference » est définie sur Stop : Accès refusé.

ERREUR : <Date-heure (MM/DD/AAAA HH :MM :SS)> : exception interceptée lors de la collecte des propriétés du processeur. Une requête WMI peut avoir échoué. AVERTISSEMENT.

Pour résoudre ce problème, vérifiez les paramètres de configuration suivants :

  • Sur Windows Server 2003, le service SQL Server Agent doit faire partie du groupe d’analyse des performances Windows sur l’instance managée de SQL Server.

  • Le service WMI doit être activé et configuré sur l’instance managée de SQL Server.

  • Le référentiel WMI peut être endommagé sur l’instance managée de SQL Server.

  • La bibliothèque de performances peut être manquante ou endommagée sur l’instance managée de SQL Server.

Pour vérifier que l’instance spécifiée de SQL Server est configurée correctement pour signaler des données à l’UCP, vérifiez que les classes suivantes sont disponibles sur l’instance spécifiée de SQL Server et qu’elles sont accessibles au compte de service SQL Server Agent :

  • Win32_MountPoint

  • Win32_PerfRawData_PerfProc_Process

  • Win32_PerfRawData_PerfOS_Processor

  • Win32_Processor

  • Win32_Volume

  • Win32_LogicalDisk

Vous pouvez utiliser l’applet de commande PowerShell Get-WmiObject sur chacune des classes pour vérifier que chaque classe est accessible. Exécutez les applets de commande suivantes sur l’instance managée de SQL Server :

Get-WmiObject Win32_MountPoint -ErrorAction Stop | Out-Null  
Get-WmiObject Win32_PerfRawData_PerfProc_Process -ErrorAction Stop| Out-Null  
Get-WmiObject Win32_PerfRawData_PerfOS_Processor -ErrorAction Stop | Out-Null  
Get-WmiObject Win32_Processor -ErrorAction Stop | Out-Null  
Get-WmiObject Win32_Volume -ErrorAction Stop | Out-Null  
Get-WmiObject Win32_LogicalDisk -ErrorAction Stop | Out-Null  

Pour plus d’informations sur la résolution des problèmes WMI, consultez Résolution des problèmes WMI. Notez que les requêtes de ces opérations de l’utilitaire SQL Server s’exécutent localement, de sorte que le contenu de résolution des problèmes à distance et DCOM ne s’applique pas.

Collecte de données ayant échoué

Si les événements de collecte de données de l’utilitaire SQL Server échouent, tenez compte des possibilités suivantes :

  • Ne modifiez aucune propriété de la collection « Informations de l’utilitaire » définie sur une instance managée de SQL Server et n’activez pas la collecte de données manuellement, car la collecte de données est contrôlée par un travail de l’agent utilitaire.

  • Échec ou validation WMI non supportée. Pour plus d’informations, veuillez consulter la section Validation WMI échouée plus haut dans cette rubrique.

  • Actualiser les données dans la vue de liste d’instances managées, car les données dans les points de vue de l’utilitaire SQL Server ne s’actualisent pas automatiquement. Pour actualiser les données, cliquez avec le bouton droit sur le nœud Instances managées dans le volet de navigation de l’Explorateur de l’utilitaire , puis sélectionnez Actualiser, ou cliquez avec le bouton droit sur le nom de l’instance SQL Server dans l’affichage de liste, puis sélectionnez Actualiser. Notez qu’une fois qu’une instance de SQL Server a été inscrite auprès d’un UCP, il peut prendre jusqu’à 30 minutes pour que les données apparaissent d’abord dans le tableau de bord et les points de vue dans le volet de contenu de l’Explorateur d’utilitaires.

  • Utilisez le Gestionnaire de configuration SQL Server pour vérifier que l’instance de SQL Server est en cours d’exécution.

  • Si la collecte de données ou le chargement des données échouent en raison de problèmes de délai d’expiration, mettez à jour la fonction dbo.fn_sysutility_mi_get_collect_script() dans la base de données MSDB. Plus précisément, dans la fonction « Invoke-BulkCopyCommand() », ajoutez une ligne :

    $bulkCopy.BulkCopyTimeout=180  
    

    La valeur de délai d'attente par défaut est de 30 secondes.

  • Si l’instance de SQL Server n’est pas en cluster, vérifiez que le service SQL Server Agent est en cours d’exécution et que le service est configuré pour démarrer automatiquement sur l’UCP et sur l’instance managée de SQL Server.

  • Vérifiez qu’un compte valide est utilisé pour exécuter la collecte de données sur l’instance managée de SQL Server. Par exemple, le mot de passe peut avoir expiré. Si le mot de passe du proxy a expiré, mettez à jour les informations d’identification du mot de passe dans SSMS, comme suit :

    1. Dans l’Explorateur d’objets SSMS, développez le nœud Sécurité , puis développez le nœud Informations d’identification .

    2. Cliquez avec le bouton droit sur UtilityAgentProxyCredential_<GUID> , puis sélectionnez Propriétés.

    3. Dans la boîte de dialogue Propriétés des informations d’identification, mettre à jour si nécessaire les informations d’identification UtilityAgentProxyCredential_<GUID>.

    4. Cliquez sur OK pour confirmer la modification.

  • TCP/IP doit être activé sur l’UCP et sur l’instance managée de SQL Server. Activez TCP/IP via le Gestionnaire de configuration SQL Server.

  • Le service SQL Server Browser sur l’UCP doit être démarré et configuré pour démarrer automatiquement. Si votre organisation empêche l’utilisation du service SQL Server Browser, procédez comme suit pour autoriser une instance managée de SQL Server à se connecter à l’UCP :

    1. Dans la barre des tâches Windows sur l’instance managée de SQL Server, cliquez sur Démarrer, puis sur Exécuter....

    2. Tapez «cliconfg.exe» dans l’espace fourni, puis cliquez sur OK.

    3. Si vous êtes invité à autoriser « SQL Client Configuration Utility EXE » à démarrer, cliquez sur « Continuer ».

    4. Dans la boîte de dialogue Utilitaire réseau du client SQL Server , sélectionnez l’onglet Alias , puis cliquez sur Ajouter....

    5. Dans la boîte de dialogue Ajouter une configuration de bibliothèque réseau :

    6. Spécifiez TCP/IP dans la liste des bibliothèques réseau.

    7. Spécifiez computerName\InstanceName de l’UCP dans la zone de texte Alias du serveur .

    8. Spécifiez le nom d’ordinateur de l’UCP dans la zone de texte Nom du serveur .

    9. Décochez la case Déterminer dynamiquement le port.

    10. Spécifiez le numéro de port sur lequel l’UCP écoute dans la zone de texte Numéro de port .

    11. Cliquez sur OK pour enregistrer vos modifications.

    12. Répétez ces étapes pour chaque instance managée de SQL Server qui se connecte à un UCP où le service SQL Server Browser n’est pas activé.

  • Vérifiez que les instances managées de SQL Server sont connectées au réseau.

  • S’il existe des bases de données portant le même nom, mais avec des paramètres de sensibilité à la casse différents sur une instance managée de SQL Server, l’identification entre la base de données et certaines vues de données peut être incorrecte, ce qui entraîne une collecte de données échouée. Par exemple, une base de données nommée « MYDATABASE » peut afficher les états d’intégrité d’une base de données nommée « MyDatabase ». Aucune erreur n’est générée dans ce scénario. L'échec de la collecte de données peut également être dû à des incompatibilités de sensibilité à la casse dans d'autres objets affichés dans l'UCP, comme les noms de fichiers de base de données et de groupes de fichiers.

  • Si une instance managée de SQL Server est hébergée sur un ordinateur Windows Server 2003, le compte de service SQL Server Agent doit appartenir au groupe de sécurité Utilisateurs de l’Analyseur de performances ou au groupe Administrateurs local. Sinon, la collecte de données échoue avec une erreur d’accès refusée. Pour ajouter un compte de service SQL Server Agent au groupe de sécurité Utilisateurs de l’Analyseur de performances, procédez comme suit :

    1. Ouvrez la gestion des ordinateurs, puis des utilisateurs et des groupes locaux, puis des groupes.

    2. Cliquez avec le bouton droit sur Utilisateurs de l’Analyseur de performances , puis sélectionnez Ajouter au groupe.

    3. Cliquez sur Ajouter.

    4. Entrez le compte sous lequel le service SQL Server Agent s’exécute, puis cliquez sur OK.

    5. Si l’instance de SQL Server a déjà été inscrite auprès de l’UCP avant d’ajouter l’utilisateur à ce groupe, redémarrez le service SQL Server Agent.

Voir aussi

Fonctionnalités et tâches de l’utilitaire SQL Server
Résoudre les problèmes d’intégrité des ressources SQL Server (utilitaire SQL Server)