Outils de surveillance et de réglage des performances

S’applique à :SQL Server

Microsoft SQL Server fournit un ensemble complet d’outils pour la surveillance des événements dans SQL Server et pour l’optimisation de la conception de la base de données physique. Le choix de l'outil dépend du type de surveillance ou de paramétrage à effectuer et des événements spécifiques à contrôler.

Voici les outils de supervision et de réglage SQL Server :

Outil Description
Fonctions intégrées (Transact-SQL) Les fonctions intégrées affichent des statistiques d’instantané sur l’activité SQL Server depuis le démarrage du serveur ; ces statistiques sont stockées dans des compteurs SQL Server prédéfinis. Par exemple, @@CPU_BUSY contient la durée pendant laquelle l’UC a exécuté du code SQL Server ; @@CONNECTIONS contient le nombre de connexions SQL Server ou de tentatives de connexions; et @@PACKET_ERRORS contient le nombre de paquets réseau qui se produisent sur les connexions SQL Server.
DBCC (Transact-SQL) Les instructions DBCC (Database Console Command) vous permettent de contrôler les statistiques de performances et la cohérence logique et physique d'une base de données.
Assistant Paramétrage du moteur de base de données (DTA) L’Assistant Paramétrage du moteur de base de données analyse les effets de performances des instructions Transact-SQL exécutées sur des bases de données que vous souhaitez paramétrer. Il fournit des recommandations pour ajouter, supprimer ou modifier des index, des vues indexées et un partitionnement.
Assistant Expérimentation de base de données (DEA) L’Assistant Expérimentation de base de données (DEA) est une nouvelle solution de test A/B pour SQL Server. Il aidera à évaluer une version ciblée du moteur de base de données SQL Server pour une charge de travail donnée. Lors de la mise à niveau d’une version antérieure de SQL Server (à partir de SQL Server 2005 (9.x)) vers une version plus récente de SQL Server, DEA pourra fournir des métriques d’analyse comparative.
Journaux d’activité d’erreurs Le journal des événements d’application Windows fournit une image globale des événements qui se produisent sur les systèmes d’exploitation Windows Server et Windows dans son ensemble, ainsi que les événements dans SQL Server, SQL Server Agent et la recherche en texte intégral. Il contient des informations sur les événements dans SQL Server qui ne sont pas disponibles ailleurs. Vous pouvez utiliser les informations dans le journal des erreurs pour résoudre les problèmes liés à SQL Server.
Événements étendus Les événements étendus sont un système léger d'analyse des performances qui utilise très peu de ressources de performances. Les événements étendus fournissent trois interfaces utilisateur graphiques (Assistant Nouvelle session, Nouvelle session et XE Profiler) permettant de créer, de modifier, d’afficher et d’analyser vos données de session.
Fonctions et vues de gestion dynamique associées à l’exécution (Transact-SQL) Les vues de gestion dynamique relatives à l’exécution vous permettent de vérifier les informations liées à l’exécution.
Statistiques des requêtes actives Affiche les statistiques en temps réel sur les étapes d’exécution des requêtes. Puisque ces données sont accessibles pendant l’exécution des requêtes, ces statistiques d’exécution sont extrêmement utiles pour résoudre les problèmes de performances de requêtes.
Analyser l'utilisation des ressources (Moniteur système) Le Moniteur système surveille principalement l'utilisation des ressources, notamment le nombre de demandes de pages en cours au gestionnaire de tampons, ce qui vous permet de contrôler les performances et l'activité du serveur à l'aide d'objets et de compteurs prédéfinis, ou de compteurs définis par l'utilisateur pour surveiller les événements. Le Moniteur système (l’Analyseur de performances dans Microsoft Windows NT 4.0) recueille le nombre et le taux et non pas les données concernant les événements (par exemple, l'utilisation de la mémoire, le nombre de transactions actives, le nombre de verrous bloqués, ou l'activité de l'UC). Vous pouvez définir des seuils pour des compteurs spécifiques de manière à générer des alertes pour avertir les opérateurs.

Le Moniteur système fonctionne sur les systèmes d'exploitation Microsoft Windows Server et Windows. Il peut surveiller (à distance ou localement) une instance de SQL Server sur Windows NT 4.0 ou version ultérieure.

La principale différence entre SQL Server Profiler et System Monitor est que SQL Server Profiler surveille les événements du moteur de base de données, tandis que System Monitor surveille l’utilisation des ressources associée aux processus serveur.
Ouvrir le Moniteur d’activité (SQL Server Management Studio) Le moniteur d’activité dans SQL Server Management Studio est utile pour les vues ad hoc de l’activité actuelle et affiche graphiquement des informations sur :

- Processus s’exécutant sur une instance de SQL Server
- les processus bloqués
- les verrous
- l’activité utilisateur
Tableau de bord Performances Le tableau de bord des performances dans SQL Server Management Studio permet d’identifier rapidement s’il existe un goulot d’étranglement actuel des performances dans SQL Server.
Assistant Paramétrage de requêtes La fonctionnalité Assistant Paramétrage des requêtes (QTA) guide les utilisateurs par le biais du flux de travail recommandé pour maintenir la stabilité des performances pendant les mises à niveau vers des versions plus récentes de SQL Server, comme indiqué dans la section Conserver la stabilité des performances pendant la mise à niveau vers des scénarios d’utilisation du magasin de requêtes plus récents.
Magasin de requêtes La fonctionnalité Magasin des requêtes fournit des informations sur le choix de plan de requête et sur les performances. Elle simplifie la résolution des problèmes de performances en vous permettant de trouver rapidement les différences de performances provoquées par des changements de plan de requête. Le magasin de requête capture automatiquement l'historique des requêtes, des plans et des statistiques d'exécution et les conserve à des fins de révision. Elle sépare les données en périodes, ce qui vous permet de voir les modèles d'utilisation de base de données et de comprendre à quel moment les changements de plan de requête ont eu lieu sur le serveur.
Trace SQL Procédures stockées Transact-SQL qui créent, filtrent et définissent le suivi :

sp_trace_create (Transact-SQL)
sp_trace_generateevent (Transact-SQL)
sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
sp_trace_setstatus (Transact-SQL)
SQL Server Distributed Replay Microsoft SQL Server Distributed Replay peut utiliser plusieurs ordinateurs pour relire les données de trace, en simulant une charge de travail stratégique.
sp_trace_setfilter (Transact-SQL) SQL Server Profiler suit les événements de processus du moteur, tels que le démarrage d’un lot ou d’une transaction, ce qui vous permet de surveiller l’activité du serveur et de la base de données (par exemple, des blocages, des erreurs irrécupérables ou une activité de connexion). Vous pouvez capturer des données SQL Server Profiler dans une table SQL Server ou un fichier pour une analyse ultérieure, et vous pouvez également relire les événements capturés sur SQL Server étape par étape pour voir exactement ce qui s’est passé.
Procédures stockées système (Transact-SQL) Les procédures stockées système SQL Server suivantes offrent une alternative puissante pour de nombreuses tâches de surveillance :

sp_who (Transact-SQL) :
Signale des informations d’instantané sur les utilisateurs et processus SQL Server actuels, notamment l’instruction en cours d’exécution et si l’instruction est bloquée.

sp_lock (Transact-SQL) :
Renvoie des informations d'instantané sur les verrous, y compris l'ID de l'objet, l'ID d'index, le type de verrou et le type de ressource auquel s'applique le verrou.

sp_spaceused (Transact-SQL) :
Affiche une estimation de l'espace disque actuellement utilisé par une table (ou une base de données entière).

sp_monitor (Transact-SQL) :
Affiche des statistiques, notamment l’utilisation de l’UC, l’utilisation des E/S et la durée d’inactivité depuis la dernière exécution de sp_monitor .
Indicateurs de trace (Transact-SQL) Les indicateurs de trace affichent des informations sur une activité spécifique sur le serveur ; ils permettent de diagnostiquer les problèmes ou les causes agissant sur les performances (par exemple, chaînes de blocage).

Choix d'un outil de surveillance

Le choix d'un outil de surveillance dépend de l'événement ou de l'activité à surveiller.

Événement ou activité Événements étendus SQL Server Profiler Distributed Replay Moniteur système Moniteur d'activité Transact-SQL Journaux des erreurs Tableau de bord Performances
Analyse de tendances Oui Oui Oui
Relecture des événements capturés Oui (depuis un ordinateur unique) Oui (depuis plusieurs ordinateurs)
Surveillance ad hoc Oui1 Oui Oui Oui Oui Oui
Génération d'alertes Oui
Interface graphique Oui Oui Oui Oui Oui Oui
Utilisation dans une application personnalisée Oui Oui2 Oui

1 Utilisation de SQL Server Management Studio XEvent Profiler
2 Utilisation des procédures stockées système SQL Server Profiler.

Outils de surveillance Windows

Les systèmes d'exploitation Windows et Windows Server 2003 proposent également les outils de surveillance suivants.

Outil Description
Gestionnaire des tâches Affiche un résumé des processus et des applications en cours d'exécution sur le système.
Agent de surveillance du réseau Surveille le trafic réseau.

Pour plus d'informations sur les outils des systèmes d'exploitation Windows ou Windows Server, consultez la documentation Windows.