[SQL Server] SQL Profiler : présentation basique

Ce billet présente brièvement le SQL (Server) Profiler.

Si vous souhaitez connaître plus en détail le fonctionnement du SQL Profiler, vous pouvez aller ici : http://msdn.microsoft.com/en-us/library/ms187929.aspx.

Présentation basique du SQL Profiler

Le SQL Profiler (ou Générateur de profils) est un outil intégré à SQL Server et permettant de tracer, en temps réel, différentes activités (ou événements) ayant (eu) lieu au sein d’une instance SQL Server traitée.

Sous SSMS (SQL Server Management Studio), la réalisation d’un trace avec le SQL Profiler est très simple :

  • Lancement du SQL Profiler :


  • Après connexion à l’instance via le SQL Profiler, sélection des événements souhaités (onglet Events Selection) :


    Cocher sur Show all events vous permet d’afficher tous les événements que peut fournir le SQL Profiler. Lors de la sélection des événements, il est important de bien choisir ceux utile pour les objectifs recherchés (i.e., pour déterminer les requêtes les plus lentes, les verrous mortels,…). En effet, une trace trop gros peut pénaliser les performances du serveur.

    Pour sélectionner un événement, il suffit de dérouler le groupe concerné, puis de choisir l’événement souhaité. Ainsi, par exemple, pour RPC :Completed, qui est un événement permettant de capturer les procédures s’exécutant à distance, il suffit d’aller dans le groupe d’événements Stored Procedures puis de sélectionner l’événement recherché :


  • Sélection des colonnes souhaitées :

La sélection des colonnes souhaitées est simple : il suffit de cocher les colonnes utiles pour chaque événement choisi, comme on peut le voir sur la figure précédente.

  • Filtrage éventuel des colonnes :

Le filtrage des colonnes permet d’améliorer la trace de sorte que cette dernière aille à l’essentiel lors du traitement des événements. Par exemple, en pressant sur le bouton Column Filters… (qu’on peut remarquer sur la figure précédente), on peut filtrer la colonne Duration de sorte que la trace ne traite que les événements durant plus d’1 minute (60000 millisecondes, ce qui correspond à l’unité de mesure de Duration) :


  • Réorganisation éventuelle des colonnes (après clic sur Organize Columns…) :

    Il est possible de faire en sorte que les colonnes soient organisées en fonction d’une ou plusieurs colonnes particulières. Par exemple, la réorganisation des colonnes en fonction de Duration pourrait donner ça (après avoir sélectionné Duration et cliqué sur Up plusieurs fois de suite jusqu’à ce que cette colonne soit intégrée à Group):


  • Lancement de la trace :

    Après avoir éventuellement donné un nom au trace, sauvegardé la trace dans le fichier (peu se faire durant la trace) ou dans une table (idem), il ne reste plus qu’à lancer la trace en cliquant sur le bouton Run :


Remarquez que vous pouvez directement presser sur Run au sein de l’onglet Events Selection. Et par ailleurs, comme on peut le noter sur la figure ci-dessus, il est possible de différer le lancement du trace.

Il est également à noter qu’il est possible :

  • De créer un modèle (template dédié à un objectif particulier, tel que la détermination de verrous mortels,…) pour la trace de sorte qu’il soit réutilisable


  • De sélectionner dans la liste des templates, ceux déjà créés par le SQL Profiler :


Toutes ces explications élémentaires sont basées sur la version 2008 du SQL Profiler mais peuvent être applicables pour les autres versions de SQL Server (à partir de 2000).

Pour aller plus loin…

Quelques éléments d’audit via le SQL Profiler seront abordés à travers des billets indépendants.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s