97
5.2 SQL Trace et le profiler
Sans SQL Trace, SQL Server serait une boîte noire, nous n’aurions aucun moyen
d’identifier précisément les raisons d’un ralentissement soudain, ou d’une charge
excessive du système.
Dans chaque instance de SQL Server, un sous-système nommé le contrôleur de
trace (trace controller) est responsable de la collecte d’événements produits par des
fournisseurs propres à chaque partie du moteur, et à l’envoi de ces événements aux
clients inscrits. Ces fournisseurs ne sont activés que si au moins un client écoute
activement un des événements qu’ils produisent. Le contrôleur de trace distribue
ensuite les résultats à des fournisseurs d’entrées/sorties (trace I/O providers), ce qui
permet à une trace d’être directement sauvée dans un fichier binaire par le serveur,
ou envoyée à un client, comme le profiler.
Le profiler, incorrectement traduit dans certaines versions de SQL Server par
« gestionnaire de profils » est donc en réalité un programme client qui affiche les
informations d’une trace SQL. Il est l’outil incontournable de l’optimisation. Il vous
permet de suivre le comportement de votre serveur, en interceptant tous les événements envoyés par SQL Trace, dont bien entendu les requêtes SQL, accompagnés de
précieuses informations sur leur impact et leur exécution. Il est important de bien le
connaître et nous allons donc en détailler les fonctionnalités.
Le profiler peut afficher en temps réels un flux de trace SQL, mais aussi charger
une trace enregistrée préalablement dans un fichier de trace ou dans une table SQL.
Il peut sauvegarder une trace dans ces deux destinations, et également rejouer une
trace sur un serveur SQL, c’est-à-dire exécuter à nouveau toutes les requêtes SQL
contenues dans la trace, ce qui est fort utile pour faire un test de charge, par exemple.
Vous en trouvez l’icône dans le menu de SQL Server, dossier Performances tools
(outils de performance). Lorsque vous créez une nouvelle session, une fenêtre à deux
onglets permet de sélectionner un certain nombre d’options.
Précédent

- 109/334

Suivant