Scénarios d'utilisation du Générateur de profils SQL Server
La première étape dans l'utilisation du SQL Server Profiler consiste à identifier les raisons pour lesquelles vous surveillez une instance de SQL Server. Cette rubrique décrit les scénarios courants où vous pouvez utiliser le SQL Server Profiler pour recueillir des informations de trace.
Les scénarios classiques d'utilisation du SQL Server Profiler sont notamment les suivants :
Détecter les requêtes les moins performantes.
Par exemple, vous pouvez créer une trace qui capture les événements relatifs aux classes d'événements TSQL et Stored Procedure (RPC:Completed et SQL:BatchCompleted). Incluez toutes les colonnes de données dans la trace, regroupez-les par Duration et spécifiez les critères d'événements. Par exemple, si vous spécifiez que Duration de l'événement doit être d'au moins 10 000 microsecondes, vous pouvez éliminer de la trace les événements de durée plus courte. La valeur minimale de Duration peut être augmentée si besoin. Si vous voulez surveiller une seule base de données à la fois, spécifiez une valeur pour le critère d'événement Database ID.
Identifier la cause d'un blocage.
Par exemple, vous pouvez créer une trace qui capture les événements relatifs aux classes d'événements TSQL et Stored Procedure (RPC:Starting et SQL:BatchStarting) et aux classes d'événements Locks (Deadlock Graph, Lock:Deadlock ou Lock:Deadlock Chain). Incluez toutes les colonnes de données dans la trace et regroupez-les par Event Class. Si vous voulez surveiller une seule base de données à la fois, spécifiez une valeur pour le critère d'événement Database ID. Si vous spécifiez la classe d'événements Deadlock Graph, le SQL Server Profiler produit une représentation graphique du blocage. Pour plus d'informations, consultez Analyse des blocages à l'aide du Générateur de profils SQL Server.
Pour afficher les connexions concernées par un blocage, effectuez l'une des tâches suivantes :
Ouvrez la trace contenant les données capturées, regroupez les données par ClientProcessID et développez les deux connexions concernées par le blocage.
Enregistrez les données capturées dans un fichier de trace et ouvrez ce fichier à deux reprises pour afficher le fichier dans deux fenêtres distinctes du SQL Server Profiler. Regroupez alors les données capturées par ClientProcessID, puis développez l'ID du processus de client concerné par le blocage. Chaque connexion présentant un blocage apparaît dans une fenêtre séparée. Faites apparaître les fenêtres en mosaïque pour afficher les événements qui sont à l'origine du blocage. Si vous souhaitez enregistrer les données d'un graphe de verrouillage spécifique dans un fichier, cliquez avec le bouton droit sur l'événement de blocage et sélectionnez Extraire les données d'événement.
Surveiller les performances des procédures stockées.
Par exemple, vous pouvez créer une trace qui capture les événements relatifs aux classes d'événements Stored Procedure (SP:Completed, SP:Starting, SP:StmtCompleted et SP:StmtStarting) et aux classes d'événements TSQLSQL:BatchStarting et SQL:BatchCompleted). Incluez toutes les colonnes de données nécessaires dans la trace et regroupez-les par ClientProcessID. Si vous voulez surveiller une seule base de données à la fois, utilisez le filtre ID de la base de données pour spécifier une valeur pour le critère d'événement Database ID. De même, si vous voulez surveiller une seule procédure stockée à la fois, utilisez le filtre ID de l'objet pour spécifier la valeur du critère d'événement Object ID.
Auditer l'activité de SQL Server.
Par exemple, si l'administrateur de la sécurité doit toujours savoir quels sont les utilisateurs connectés au serveur, une trace du SQL Server Profiler offre un enregistrement complet des utilisateurs qui se sont connectés au serveur ou s'en sont déconnectés. Ces informations peuvent ensuite être utilisées à des fins juridiques ou techniques.
Créez une trace en sélectionnant l'événement Audit Login. Pour renvoyer les informations appropriées, spécifiez les colonnes de données suivantes : EventClass (sélectionnée par défaut), EventSubClass, LoginSID, LoginName.
Surveiller l'activité Transact-SQL par utilisateur.
Vous pouvez créer une trace qui capture les événements relatifs aux classes d'événements Sessions, ExistingConnection et TSQL. Incluez toutes les colonnes de données dans la trace, ne spécifiez pas de critères d'événement et regroupez les événements capturés par DBUserName.
Recueillir un échantillon représentatif d'événements à des fins de test de stress.
Le SQL Server Profiler fournit un modèle prédéfini TSQL_Replay utilisable pour les paramétrages itératifs, par exemple un test d'évaluation.
Recueillir un échantillon d'événements pour ajuster la conception physique de la base de données à l'aide de l'Assistant Paramétrage du Moteur de base de données.
Le SQL Server Profiler fournit un modèle prédéfini de réglage qui recueille les événements Transact-SQL appropriés dans le résultat de la trace pour que ce dernier puisse servir de charge de travail pour l'Assistant Paramétrage du Moteur de base de données.
Voir aussi