136
Chapitre 5. Analyse des performances
Vous pouvez ensuite vous situer sur une ligne d’événement, ou à un moment du
graphe, et l’affichage de l’autre fenêtre sera automatiquement positionné sur la
période correspondante. Cela permettra une analyse détaillée de l’impact de vos
requêtes sur le serveur. Cette fonctionnalité n’est possible qu’avec des traces et des
journaux de compteurs sauvegardés préalablement, la corrélation en temps réel n’est
pas possible.
5.8 ÉVÉNEMENTS ÉTENDUS (SQL SERVER 2008)
SQL Server 2008 inclut une nouvelle architecture de gestion d’événements, appelée
événements étendus (extended events, ou XEvents), fondés sur l’architecture de Event
Tracing for Windows (ETW). Elle permet de définir des événements récupérables par
plusieurs clients, de façon synchrone ou asynchrone 1 . Au moment où nous rédigeons
ce livre, SQL Server 2008 est toujours en version bêta et tous les événements ne
sont pas implémentés. La puissance de XEvents est bien supérieure aux méthodes de
trace actuelle. Nous allons en parcourir les fonctionnalités.
5.8.1 Architecture
Les fournisseurs de ces événements sont organisés en packages, de simples containers, comme des espaces de noms, identifiés par un nom et un GUID, qui contiennent divers objets :
• events : des événements déclenchés, ils correspondent principalement aux
compteurs de performance SQL Server et aux événements de trace SQL.
• actions : des actions attribuées dynamiquement au déclenchement d’un
événement, elles peuvent être utiles pour ajouter des informations supplémentaires aux événements( par exemple le SPID, le code SQL de l’instruction, etc.).
• targets : des « consommateurs » d’événements. SQL Server en implémentent
plusieurs, soit pour écrire les événements dans un fichier, soit pour les traiter
en mémoire (accessible par des vues de gestion dynamique). Par exemple, la
destination « Event pairing » matche les couples d’événements, et permet
d’identifier des événements non terminés (transaction non validée, verrou
non libéré, etc.).
• types : indiquent les formats d’événement pour assurer leur prise en main dans
le processus de déclenchement (notamment leur mise en buffer).
1. Un fournisseur ETW est aussi présent en SQL Server 2005. Vous pouvez trouver des informations sur son fonctionnement dans cette entrée de blog : http://blogs.msdn.com/sqlqueryprocessing/archive/2006/11/12/using-etw-for-sql-server-2005.aspx
Chapitre 5. Analyse des performances
Vous pouvez ensuite vous situer sur une ligne d’événement, ou à un moment du
graphe, et l’affichage de l’autre fenêtre sera automatiquement positionné sur la
période correspondante. Cela permettra une analyse détaillée de l’impact de vos
requêtes sur le serveur. Cette fonctionnalité n’est possible qu’avec des traces et des
journaux de compteurs sauvegardés préalablement, la corrélation en temps réel n’est
pas possible.
5.8 ÉVÉNEMENTS ÉTENDUS (SQL SERVER 2008)
SQL Server 2008 inclut une nouvelle architecture de gestion d’événements, appelée
événements étendus (extended events, ou XEvents), fondés sur l’architecture de Event
Tracing for Windows (ETW). Elle permet de définir des événements récupérables par
plusieurs clients, de façon synchrone ou asynchrone 1 . Au moment où nous rédigeons
ce livre, SQL Server 2008 est toujours en version bêta et tous les événements ne
sont pas implémentés. La puissance de XEvents est bien supérieure aux méthodes de
trace actuelle. Nous allons en parcourir les fonctionnalités.
5.8.1 Architecture
Les fournisseurs de ces événements sont organisés en packages, de simples containers, comme des espaces de noms, identifiés par un nom et un GUID, qui contiennent divers objets :
• events : des événements déclenchés, ils correspondent principalement aux
compteurs de performance SQL Server et aux événements de trace SQL.
• actions : des actions attribuées dynamiquement au déclenchement d’un
événement, elles peuvent être utiles pour ajouter des informations supplémentaires aux événements( par exemple le SPID, le code SQL de l’instruction, etc.).
• targets : des « consommateurs » d’événements. SQL Server en implémentent
plusieurs, soit pour écrire les événements dans un fichier, soit pour les traiter
en mémoire (accessible par des vues de gestion dynamique). Par exemple, la
destination « Event pairing » matche les couples d’événements, et permet
d’identifier des événements non terminés (transaction non validée, verrou
non libéré, etc.).
• types : indiquent les formats d’événement pour assurer leur prise en main dans
le processus de déclenchement (notamment leur mise en buffer).
1. Un fournisseur ETW est aussi présent en SQL Server 2005. Vous pouvez trouver des informations sur son fonctionnement dans cette entrée de blog : http://blogs.msdn.com/sqlqueryprocessing/archive/2006/11/12/using-etw-for-sql-server-2005.aspx
