Partager via


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 que vous pouvez analyser ou utiliser ultérieurement pour relire une série spécifique d’étapes lors du diagnostic d’un problème.

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 :

To run a trace against SQL Server, you must be a sysadmin fixed server role member or have the ALTER TRACE permission.

Le message doit indiquer qu’Azure SQL Database n’est pas pris en charge par SQL Server Profiler.

Avis de dépréciation

Important

Le Trace SQL et SQL Server Profiler sont obsolètes. Utilisez plutôt Extended Events. 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é.

L’espace Microsoft.SqlServer.Management.Trace de noms qui contient les objets Trace et Replay SQL Server est également déconseillé. Cependant, les charges de travail Analysis Services sont prises en charge.

Pour plus d’informations sur les événements étendus, consultez les articles suivants :

Où est l'analyseur de profils ?

Vous pouvez démarrer le Profileur dans Exécuter SQL Server Profiler.

Capturer et relire les données de trace

Le tableau suivant présente les fonctionnalités que vous pouvez utiliser dans SQL Server pour capturer et relire vos données de trace.

Charge de travail cible / fonctionnalité Moteur relationnel Analysis Services
Capture de trace Vue d’ensemble de l’interface utilisateur graphique des événements étendus dans SQL Server Management Studio SQL Server Profiler
Relecture de trace Vue d’ensemble de SQL Server 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 procédures stockées affectent les performances en s'exécutant trop lentement. Utilisez SQL Server Profiler pour les activités telles que :

  • Analyser étape par étape 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 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.

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. Voici quelques exemples d’événements suivants :

  • connexions d'accès, échecs et déconnexions ;
  • Instructions Transact-SQL SELECT, INSERT, UPDATE et DELETE.
  • État de traitement par lot des appels 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 débute 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é.

La trace affiche toutes les données générées par un événement sur une seule ligne. Les colonnes de données qui décrivent l’événement en détail croisent cette ligne.

EventClass

Une classe d’événements est un type d’événement que vous pouvez tracer. La classe d'événements contient toutes les données qu’un événement peut signaler. La liste suivante présente des exemples de classes d’événements :

  • SQL :BatchCompleted
  • Auditer la connexion
  • Déconnexion de l'audit
  • Verrou : obtenu
  • Verrou : libéré

Catégorie d'événement

Une catégorie d’événements définit la façon dont SQL Server Profiler regroupe les événements. Par exemple, la catégorie d’événements Verrouillages regroupe toutes les classes d’événements de verrouillage. Toutefois, les catégories d’événements existent uniquement dans SQL Server Profiler. Ce terme ne reflète pas la façon dont les événements du moteur sont regroupés.

Colonne de 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 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. Vous ne pouvez pas exécuter un modèle directement. Au lieu de cela, vous l’enregistrez sous forme de fichier avec une .tdf extension. Une fois enregistré, le modèle contrôle les données de trace capturées lorsqu'une trace basée sur le modèle est lancée.

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 une trace pour surveiller les erreurs d'exception. Vous sélectionnez la classe d'événements Exception et les colonnes de données Error, Stateet Severity pour ce faire. Les résultats de la trace fournissent des données significatives uniquement si les données sont collectées à partir de ces trois colonnes. Vous pouvez exécuter une trace configurée de telle manière et collecter des données sur tous les événements d’exception du serveur. Enregistrez les données de trace ou utilisez-les immédiatement pour l’analyse. Vous pouvez relire les traces ultérieurement, bien que certains événements, tels que les événements d’exception, ne soient jamais reproduits. Vous pouvez également enregistrer la trace en tant que modèle en vue de créer 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 collectées par l’événement. Pour empêcher les traces de devenir trop volumineuses, filtrez-les afin que vous collectiez uniquement un sous-ensemble des données d’événement. Par exemple, la limitation des noms d'utilisateurs Microsoft Windows contenus dans la trace à des utilisateurs spécifiques réduit les données de sortie.

Si vous ne définissez pas de filtre, la sortie de trace retourne tous les événements des classes d’événements sélectionnées.

Tâches de SQL Server Profiler

Description de la tâche Article
Répertorie les modèles prédéfinis que SQL Server fournit pour surveiller certains événements, et les autorisations requises à utiliser pour relire les traces. Modèles et autorisations SQL Server Profiler
Décrit comment exécuter Profiler SQL Server. Autorisations requises 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 des événements et des colonnes de données pour un fichier de trace (SQL Server Profiler)
Explique comment enregistrer les résultats de trace dans un fichier. Enregistrer les résultats de trace dans un fichier (SQL Server Profiler)
Explique comment enregistrer les résultats de trace dans une table. Enregistrer les résultats de 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 les informations de filtre (SQL Server Profiler)
Décrit comment modifier un filtre. Modifier un filtre (SQL Server Profiler)
Décrit comment définir une taille de fichier maximale pour un fichier de trace (SQL Server Profiler). Définissez une taille de fichier maximale pour un fichier de trace (SQL Server Profiler).
Explique comment définir une taille maximale de table de trace. Définir une taille de table maximale pour une table de trace (SQL Server Profiler)
Décrit comment démarrer une trace. Démarrer une trace (SQL Server Profiler)
Explique comment démarrer automatiquement une trace après s'être connecté à un serveur. Démarrez une trace automatiquement après la connexion à un serveur (SQL Server Profiler)
Explique comment filtrer des événements en fonction de l'heure de début de l'événement. Filtrer les é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 les événements en fonction de l’heure de fin de l’événement (SQL Server Profiler)
Décrit comment filtrer les ID de session dans une trace. Filtrer les ID de session dans une trace (SQL Server Profiler)
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écutez une trace une fois 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 les paramètres par défaut du tracé. Définir les valeurs par défaut de définition de trace (SQL Server Profiler)
Décrit comment définir les valeurs par défaut de l'affichage des traces. Définir les valeurs par défaut de l’affichage 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 rejouer 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 événement unique à la fois (SQL Server Profiler)
Décrit comment relire jusqu'à un point d'arrêt. Rejouer un point d’arrêt (SQL Server Profiler)
Décrit comment relire jusqu'à un curseur. Réexécuter à un curseur (SQL Server Profiler)
Décrit comment relire un script Transact-SQL. Rejouer 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 des modèles de trace
Explique comment définir les options globales de trace. Définir les options de trace globales (SQL Server Profiler)
Explique comment rechercher une valeur ou une colonne de données lors d'une trace. Rechercher une valeur ou une colonne de données lors du suivi (SQL Server Profiler)
Explique comment dériver un modèle d'une trace en cours d'exécution. Dériver un modèle 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. Mettre en corrélation une trace avec les données du journal des performances Windows
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. Exécuter SQL Server Profiler
Explique comment enregistrer les traces et les modèles de trace. Enregistrer les traces et les 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 des performances Windows
Décrit comment afficher et analyser des traces avec SQL Server Profiler. Afficher et analyser les traces avec SQL Server Profiler
Décrit comment analyser des blocages avec SQL Server Profiler. Analyser les interblocages avec 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 les résultats SHOWPLAN dans SQL Server Profiler
Décrit comment filtrer des traces avec SQL Server Profiler. Filtrer les traces avec SQL Server Profiler
Décrit comment utiliser les fonctionnalités de relecture du SQL Server Profiler. Relire des traces
Répertorie les articles 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 SQL Server Profiler

Événements étendus vs. SQL Server Profiler

Vue d’ensemble des événements étendus et SQL Server Profiler sont des outils permettant de surveiller et de résoudre les problèmes de performances de SQL Server. SQL Server Profiler est déconseillé et ne doit être utilisé qu’avec Analysis Services. Les événements étendus sont le remplacement de SQL Server Profiler et fournissent des fonctionnalités de résolution des problèmes avancées qui ne sont pas disponibles ailleurs. Les principales différences sont indiquées ici pour faciliter la migration de SQL Server Profiler vers les événements étendus.

Outil Événements Étendus

La vue d’ensemble des événements étendus est un système de gestion des événements léger, hautement évolutif et flexible intégré à SQL Server.

Les sessions Événements étendus consomment généralement moins de ressources que SQL Trace et SQL Server Profiler, ce qui les rend plus adaptées aux environnements de production. Les événements étendus prennent en charge la capture d’événements disponibles dans les versions modernes de SQL.

En revanche, les événements disponibles dans SQL Trace/SQL Server Profiler sont limités aux fonctionnalités disponibles dans SQL Server 2008R2 et versions antérieures. Les événements étendus offrent des fonctionnalités de filtrage supérieures, une charge utile par défaut plus petite et des fonctionnalités non proposées dans Profiler, telles que les cibles en mémoire et les cibles d’agrégation et la prise en charge multi-cible.

Pour plus d’informations sur les événements étendus, consultez la vue d’ensemble des événements étendus.

Outil SQL Server Profiler

SQL Server Profiler est une interface utilisateur graphique qui utilise SQL Trace pour capturer l’activité d’une instance de SQL Server ou Analysis Services.

SQL Server Profiler peut être gourmand en ressources s’il est configuré de manière incorrecte, ce qui affecte les performances du serveur, en particulier lorsqu’il est utilisé sur des serveurs de production. Il a des modèles intégrés pour prendre en charge le suivi rapide.

En résumé, bien que SQL Server Profiler soit un outil plus ancien qui peut être familier à de nombreux utilisateurs, les événements étendus sont une alternative moderne qui offre de meilleures performances, des informations sur les événements plus détaillées et des fonctionnalités pour la résolution des problèmes et la surveillance des instances SQL Server non disponibles ailleurs. En raison de ses avantages par rapport à Profiler, les événements étendus sont recommandés pour le nouveau travail de suivi et de surveillance.