SQL Server Profiler

S’applique à :SQL ServerAzure SQL Managed Instance

SQL Server Profiler est une interface puissante, qui permet de créer et gérer des traces, ainsi que d’analyser et de 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 du diagnostic d’un problème.

Important

Trace SQL et SQL Server Profiler sont dépréciés. L’espace de noms Microsoft.SqlServer.Management.Trace qui contient les objets Trace et Replay Microsoft SQL Server est également déconseillé.

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Utilisez plutôt des événements étendus. Pour plus d’informations sur les événements étendus, consultez Démarrage rapide : Événements étendus dans SQL Server et SSMS XEvent Profiler.

Notes

Les charges de travail SQL Server Profiler pour Analysis Services sont prises en charge.

Remarque

Quand vous tentez de vous connecter à la base de données Azure SQL à partir du Générateur de profils SQL, un message d'erreur trompeur apparaît, comme suit :

  • Pour exécuter une trace sur SQL Server, vous devez être membre du rôle serveur fixe sysadmin ou bénéficier de l’autorisation ALTER TRACE.

Ce message devrait expliquer que Azure SQL Database n’est pas pris en charge par le profileur SQL Server.

Où se trouve le Générateur de profils ?

Vous pouvez démarrer Profiler dans SQL Server Management Studio ou avec Azure Data Studio à l’aide de l’extension SQL Server Profiler.

Capturer et relire les données de trace

Le tableau suivant indique les fonctionnalités que nous vous conseillons d’utiliser dans SQL Server 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

Utiliser SQL Server Profiler

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. SQL Server Profiler est utilisé pour des activités telles que :

  • 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 Database Engine Tuning Advisor.

  • 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 de SQL Server Profiler

Pour utiliser le SQL Server Profiler, vous devez comprendre les termes qui décrivent le fonctionnement de l'outil.

Notes

Pour utiliser SQL Server Profiler, il est utile de bien comprendre Trace SQL. Pour en savoir plus, voir SQL Trace.

É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.

EventClass

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 qu’un événement peut signaler. Voici des exemples de classes d’événements :

  • SQL:BatchCompleted
  • Audit Login
  • Audit Logout
  • Lock: Acquired
  • Lock: Released

EventCategory

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 reflète pas la façon dont les événements du moteur sont regroupés.

DataColumn

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 faisant 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 en spécifiant les événements, les colonnes de données et les filtres. 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, Stateet 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.

Filtrer

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 de SQL Server Profiler

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 Profiler SQL Server. Autorisations nécessaires pour exécuter SQL Server Profiler
Décrit comment créer une trace. Créer une trace (SQL Server Profiler)
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. Filtrer des événements dans une trace (SQL Server Profiler)
Explique comment afficher les informations de filtre. Afficher des informations de filtre (SQL Server Profiler)
Explique comment modifier un filtre. Modifier un filtre (SQL Server Profiler)
Explique comment définir une taille maximale pour un fichier de trace (SQL Server Profiler). Définir une taille maximale de fichier de trace (SQL et al.)
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. 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. Filtrer les identificateurs de processus serveur (SPID, Server Process ID) dans une trace (SQL et al.)
Décrit comment suspendre une trace. Suspendre une trace (SQL Server Profiler)
Décrit comment arrêter une trace. Arrêter une trace (SQL Server Profiler)
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. Effacer une fenêtre de trace (SQL Server Profiler)
Décrit comment fermer une fenêtre de trace. Fermer une fenêtre de trace (SQL Server Profiler)
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. Ouvrir un fichier de trace (SQL Server Profiler)
Décrit comment ouvrir une table de trace. Ouvrir une table de trace (SQL Server Profiler)
Décrit comment relire une table de trace. Relire une table de trace (SQL Server Profiler)
Décrit comment relire un fichier de trace. Relire un fichier de trace (SQL Server Profiler)
Décrit comment relire un seul événement à la fois. Relire un seul événement à la fois (SQL Server Profiler)
Décrit comment relire jusqu'à un point d'arrêt. Relecture jusqu'à un point d'arrêt (SQL Server Profiler)
Décrit comment relire jusqu'à un curseur. Relire jusqu'à un curseur (SQL Server Profiler)
Décrit comment relire un script Transact-SQL. Relire un script Transact-SQL (SQL Server Profiler)
Décrit comment créer un modèle de trace. Créer un modèle de trace (SQL Server Profiler)
Explique comment modifier un modèle de trace. Modifier un modèle de trace (SQL Server Profiler)
Explique comment définir les options globales de trace. Définir les options globales de trace (SQL Server Profiler)
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. Exporter un modèle de trace (SQL Server Profiler)
Décrit comment importer un modèle de trace. Importer un modèle de trace (SQL Server Profiler)
Décrit comment extraire un script d'une trace. Extraire un script d'une trace (SQL Server Profiler)
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 SQL Server Profiler. Démarrer SQL Server Profiler
Explique comment enregistrer les traces et les modèles de trace. Enregistrer des traces et de modèles de trace
Explique comment modifier les modèles de trace. Modifier des 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 SQL Server Profiler. Afficher et analyser des traces avec SQL Server Profiler
Décrit comment analyser des blocages avec SQL Server Profiler. Analyser des blocages à l'aide de SQL Server Profiler
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 SQL Server Profiler. Filtrer des traces avec SQL Server Profiler
Décrit comment utiliser les fonctionnalités de relecture du SQL Server Profiler. Relire des traces
Répertorie les rubriques d'aide contextuelle pour SQL Server Profiler. Aide (F1) du Générateur de profils SQL
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)