SQL Server Profiler
Le SQL Server Profiler est une interface puissante qui permet de créer et gérer des traces ainsi que d'analyser et relire les résultats de trace. Les événements sont enregistrés dans un fichier de trace qui peut être analysé ou utilisé ultérieurement pour relire une série d'étapes spécifique lors d'une tentative de diagnostic d'un problème.
Important
Nous annonçons l'abandon du SQL Server Profiler pour la capture de trace et la relecture de trace du Moteur de base de données. Ces fonctions seront prises en charge dans la prochaine version de SQL Server, mais seront supprimées dans une version ultérieure. La version spécifique de SQL Server n'a pas été déterminée. L'espace de noms Microsoft.SqlServer.Management.Trace qui contient les objets Trace et Replay Microsoft SQL Server sera également déconseillé. Notez que le SQL Server Profiler pour les charges de travail Analysis Services n'est pas déconseillé, et continuera à être pris en charge.
Le tableau suivant indique les fonctionnalités que nous vous recommandons d'utiliser dans SQL Server 2012 pour capturer et relire les données de trace :
Fonctionnalité/Charge de travail cible |
Moteur relationnel |
Analysis Services |
Capture de trace |
Interface utilisateur graphique des événements étendus dans SQL Server Management Studio |
SQL Server Profiler |
Relecture de trace |
Distributed Replay |
SQL Server Profiler |
Avantages du Générateur de profils SQL Server
Le SQL Server Profiler est une interface utilisateur graphique de Trace SQL qui permet de surveiller une instance du Moteur de base de données ou Analysis Services. Vous pouvez capturer et enregistrer des données sur chaque événement dans un fichier ou dans une table en vue d'une analyse ultérieure. Par exemple, vous pouvez surveiller un environnement de production pour savoir quelles sont les procédures stockées qui affectent les performances en s'exécutant trop lentement. Le SQL Server Profiler est utilisé pour effectuer les actions suivantes :
Exécuter pas à pas des requêtes posant problème afin d'en déterminer la cause.
Détecter les requêtes s'exécutant lentement et diagnostiquer la cause du problème.
Capturer la série d'instructions Transact-SQL conduisant à un problème. La trace enregistrée peut ensuite être utilisée pour répliquer le problème sur un serveur test à partir duquel il est possible de diagnostiquer sa cause.
Surveiller les performances de SQL Server en vue de paramétrer les charges de travail. Pour plus d'informations sur le paramétrage de la conception d'une base de données physique pour les charges de travail de base de données, consultez Assistant Paramétrage du moteur de base de données.
Mise en corrélation des compteurs de performances pour diagnostiquer des problèmes.
SQL Server Profiler prend également en charge l'audit des actions exécutées sur des instances de SQL Server. Les audits enregistrent les actions relatives à la sécurité en vue de leur examen ultérieur par l'administrateur de la sécurité.
Concepts du Générateur de profils SQL Server
Pour utiliser le SQL Server Profiler, vous devez comprendre les termes qui décrivent le fonctionnement de l'outil.
[!REMARQUE]
Pour utiliser SQL Server Profiler, il est préférable de bien comprendre Trace SQL. Pour plus d'informations, consultez Trace SQL.
Événement
Un événement est une action générée dans une instance de Moteur de base de données SQL Server. En voici quelques exemples :connexions d'accès, échecs et déconnexions ;
instructions Transact-SQL SELECT, INSERT, UPDATE et DELETE ;
état du traitement d'appel de procédure distante (RPC) ;
le lancement ou la fin d'une procédure stockée ;
le lancement ou la fin d'instructions à l'intérieur de procédures stockées ;
le lancement ou la fin d'un traitement SQL ;
une erreur consignée dans le journal des erreurs de SQL Server ;
un verrou placé ou libéré sur un objet de la base de données ;
un curseur ouvert ;
vérifications des autorisations de sécurité.
Toutes les données générées par un événement sont affichées dans une même ligne de la trace. Cette ligne est composée de champs de colonnes de données qui décrivent l'événement en détail.
Classed'événements
Une classe d'événements est un type d'événement qui peut être tracé. La classe d'événements contient toutes les données qui peuvent être signalées par un événement. Voici quelques exemples de classes d'événements :SQL:BatchCompleted
Audit Login
Audit Logout
Lock:Acquire
Lock:Release
Catégoried'événements
Une catégorie d'événements définit la façon dont les événements sont regroupés dans le SQL Server Profiler. Par exemple, toutes les classes d'événements de verrou sont regroupées à l'intérieur de la catégorie d'événements Verrous. Toutefois, les catégories d'événements n'existent que dans le SQL Server Profiler. Ce terme ne recouvre pas la façon dont les événements du moteur sont regroupés.Colonnesde données
Une colonne de données est un attribut d'une classe d'événements capturée dans la trace. Chaque classe d'événements détermine le type des données qui peuvent être recueillies. C'est pourquoi les colonnes de données ne s'appliquent pas toutes à toutes les classes d'événements. Par exemple, dans une trace qui capture la classe d'événements Lock:Acquired, la colonne de données BinaryData contient la valeur de l'ID de la page verrouillée ou de la ligne, mais la colonne de données Integer Data ne contient aucune valeur car elle n'est pas applicable à la classe d'événements qui fait l'objet d'une capture.Modèle
Un modèle définit la configuration par défaut d'une trace. Il comprend notamment les classes d'événements à surveiller avec le SQL Server Profiler. Par exemple, vous pouvez créer un modèle spécifiant les événements, les colonnes de données et les filtres à utiliser. Un modèle n'est pas exécuté ; il est enregistré sous la forme d'un fichier portant l'extension .tdf. Une fois enregistré, le modèle contrôle les données de trace capturées à l'exécution d'une trace basée sur celui-ci.Trace
Une trace capture des données en fonction de classes d'événements, de colonnes de données et de filtres spécifiques. Par exemple, vous pouvez créer un modèle pour tracer les erreurs d’exception. Pour ce faire, vous sélectionnez la classe d'événements Exception et les colonnes de données Error, State et Severity. Les données de ces trois colonnes doivent être récupérées afin que les résultats de trace fournissent des données significatives. Vous pouvez ensuite exécuter une trace configurée de la sorte, et collecter les données de tout événement Exception se produisant dans le serveur. Les données de trace peuvent être enregistrées ou utilisées immédiatement pour une analyse. Les traces peuvent être relues ultérieurement, bien que certains événements, tels que Exception, ne soient jamais relus. Vous pouvez également enregistrer la trace en tant que modèle en vue de créer plus tard des traces similaires.SQL Server vous permet de tracer une instance SQL Server de deux façons : à l'aide de SQL Server Profiler, ou de procédures stockées système.
Filtre
Lorsque vous créez une trace ou un modèle, vous pouvez définir des critères pour filtrer les données récupérées par l'événement. Pour éviter que les traces ne deviennent trop volumineuses, vous pouvez les filtrer de manière à ce que seul un sous-ensemble des données d'événement soit recueilli. Par exemple, vous pouvez limiter les noms d'utilisateurs Microsoft Windows contenus dans la trace à des utilisateurs spécifiques pour réduire les données de sortie.Si aucun filtre n'est défini, tous les événements des classes d'événements sélectionnées sont retournés dans le résultat de trace.
Tâches du Générateur de profils SQL Server
Description de la tâche |
Rubrique |
---|---|
Répertorie les modèles prédéfinis que SQL Server fournit pour surveiller certains types d'événements, et les autorisations requises à utiliser pour relire les traces. |
Modèles et autorisations du générateur de SQL Server Profiler |
Décrit comment exécuter le Générateur de profils SQL Server. |
|
Décrit comment créer une trace. |
|
Décrit comment spécifier les événements et les colonnes de données d'un fichier de trace. |
Spécifier les événements et les colonnes de données d'un fichier de trace (SQL Server Profiler) |
Explique comment enregistrer les résultats de trace dans un fichier. |
Enregistrer des résultats d'une trace dans un fichier (SQL Server Profiler) |
Explique comment enregistrer les résultats de trace dans une table. |
Enregistrer des résultats d'une trace dans une table (SQL Server Profiler) |
Explique comment filtrer des événements dans une trace. |
|
Explique comment afficher les informations de filtre. |
|
Explique comment modifier un filtre. |
|
Explique comment définir la taille maximale d'un fichier de trace (Générateur de profils SQL Server). |
Définir la taille maximale d'un fichier de trace (SQL Server Profiler) |
Explique comment définir une taille maximale de table de trace. |
Définir une taille maximale de table de trace (SQL Server Profiler) |
Décrit comment démarrer une trace. |
|
Explique comment démarrer automatiquement une trace après s'être connecté à un serveur. |
Démarrer automatiquement une trace après s'être connecté à un serveur (SQL Server Profiler) |
Explique comment filtrer des événements en fonction de l'heure de début de l'événement. |
Filtrer des événements en fonction de l'heure de début de l'événement (SQL Server Profiler) |
Explique comment filtrer des événements en fonction de l'heure de fin de l'événement. |
Filtrer des événements en fonction de leur heure de fin (SQL Server Profiler) |
Explique comment filtrer les identificateurs de processus serveur (SPID, Server Process ID) dans une trace. |
|
Décrit comment suspendre une trace. |
|
Décrit comment arrêter une trace. |
|
Décrit comment exécuter une trace après son interruption ou son arrêt. |
Exécuter une trace après qu'elle a été suspendue ou arrêtée (SQL Server Profiler) |
Décrit comment effacer une fenêtre de trace. |
|
Décrit comment fermer une fenêtre de trace. |
|
Décrit comment définir des paramètres par défaut de définition de trace. |
Définir des paramètres par défaut de trace (SQL Server Profiler) |
Décrit comment définir des valeurs par défaut d'affichage de trace. |
Définir l'affichage par défaut des traces (SQL Server Profiler) |
Décrit comment ouvrir un fichier de trace. |
|
Décrit comment ouvrir une table de trace. |
|
Décrit comment relire une table de trace. |
|
Décrit comment relire un fichier de trace. |
|
Décrit comment relire un seul événement à la fois. |
|
Décrit comment relire jusqu'à un point d'arrêt. |
|
Décrit comment relire jusqu'à un curseur. |
|
Décrit comment relire un script Transact-SQL. |
|
Décrit comment créer un modèle de trace. |
|
Explique comment modifier un modèle de trace. |
|
Explique comment définir les options globales de trace. |
|
Explique comment rechercher une valeur ou une colonne de données au cours de l'exécution d'une trace. |
Retrouver une valeur ou une colonne de données pendant le suivi (SQL Server Profiler) |
Explique comment dériver un modèle d'une trace en cours d'exécution. |
Dériver un modèle à partir d'une trace en cours d'exécution (SQL Server Profiler) |
Explique comment dériver un modèle d'un fichier de trace ou d'une table de trace. |
Dériver un modèle à partir d'un fichier de trace ou d'une table de trace (SQL Server Profiler) |
Explique comment créer un script Transact-SQL pour exécuter une trace. |
Créer un script Transact-SQL pour exécuter une trace (SQL Server Profiler) |
Décrit comment exporter un modèle de trace. |
|
Décrit comment importer un modèle de trace. |
|
Décrit comment extraire un script d'une trace. |
|
Explique comment corréler une trace avec les données du journal de performances Windows. |
Corréler une trace aux données du journal de performances Windows (SQL Server Profiler) |
Décrit comment organiser les colonnes affichées dans une trace. |
Organiser les colonnes affichées dans une trace (SQL Server Profiler) |
Décrit comment démarrer le Générateur de profils SQL Server. |
|
Explique comment enregistrer les traces et les modèles de trace. |
|
Explique comment modifier les modèles de trace. |
|
Explique comment corréler une trace avec les données du journal de performances Windows. |
Mettre en corrélation une trace avec les données du journal de performances Windows |
Décrit comment afficher et analyser des traces avec le Générateur de profils SQL Server. |
|
Décrit comment analyser des blocages avec le Générateur de profils SQL Server. |
|
Décrit comment analyser des requêtes avec des résultats SHOWPLAN dans le Générateur de profils SQL Server. |
Analyser des requêtes avec des résultats SHOWPLAN dans SQL Server Profiler |
Décrit comment filtrer des traces avec le Générateur de profils SQL Server. |
|
Décrit comment utiliser les fonctionnalités de relecture du Générateur de profils SQL Server. |
|
Répertorie les rubriques d'aide contextuelle du Générateur de profils SQL Server. |
|
Répertorie les procédures stockées système utilisées par le SQL Server Profiler pour contrôler l'activité et les performances. |
Procédures stockées du Générateur de profils SQL Server (Transact-SQL) |
Voir aussi
Concepts
Catégorie d'événements Sessions
Catégorie d'événements Stored Procedures
Analyse des performances et surveillance de l'activité du serveur