Classe d'événements Performance Statistics

La classe d'événements Performance Statistics permet de surveiller les performances des requêtes, des procédures stockées et des déclencheurs en cours d'exécution. Chacune des six sous-classes d'événements indique un événement dans la durée de vie des requêtes, des procédures stockées et des déclencheurs au sein du système. En combinant ces sous-classes d'événements aux vues de gestion dynamique sys.dm_exec_query_stats, sys.dm_exec_procedure_stats et sys.dm_exec_trigger_stats correspondantes, vous pouvez reconstituer l'historique des performances d'une requête, d'une procédure stockée ou d'un déclencheur donnés.

Colonnes de données de la classe d'événements Performance Statistics

Les tableaux suivants décrivent les colonnes des données de la classe d'événements associées à chaque sous-classe des événements suivantes : EventSubClass 0, EventSubClass 1, EventSubClass 2, EventSubClass 3, EventSubClass 4 et EventSubClass 5.

EventSubClass 0

Nom de la colonne de données

Type de données

Description

ID de la colonne

Filtrable

BigintData1

bigint

NULL

52

Oui

BinaryData

image

NULL

2

Oui

DatabaseID

int

ID de la base de données spécifiée par l'instruction USE database ou celui de la base de données par défaut si aucune instruction USE database n'a été spécifiée pour une instance donnée. Le SQL Server Profiler affiche le nom de la base de données si la colonne de données ServerName est capturée dans la trace et que le serveur est disponible. Déterminez la valeur pour une base de données à l'aide de la fonction DB_ID.

3

Oui

EventSequence

int

Séquence d'un événement donné au sein de la demande.

51

Non

EventSubClass

int

Type de sous-classe d'événements.

0 = Nouveau texte SQL de traitement qui n'est pas actuellement présent dans le cache.

Les types EventSubClass suivants sont générés dans la trace pour les lots ad hoc.

Pour les lots ad hoc avec un nombre n de requêtes :

  • 1 de type 0

21

Oui

IntegerData2

int

NULL

55

Oui

ObjectID

int

NULL

22

Oui

Offset

int

NULL

61

Oui

PlanHandle

Image

NULL

65

Oui

SessionLoginName

nvarchar

Nom de connexion de l'utilisateur à l'origine de la session. Exemple : si vous vous connectez à SQL Server en utilisant le nom d'utilisateur Login1 et exécutez une instruction sous le nom Login2, SessionLoginName retourne Login1 et LoginName retourne Login2. Cette colonne affiche les noms de connexion SQL Server et Windows.

64

Oui

SPID

int

ID de la session au cours de laquelle l'événement s'est produit

12

Oui

SqlHandle

image

Handle SQL permettant d'obtenir le texte SQL du lot à l'aide de la vue de gestion dynamique sys.dm_exec_sql_text.

63

Oui

StartTime

datetime

Heure à laquelle a débuté l'événement, si elle est connue.

14

Oui

TextData

ntext

Texte SQL du traitement.

1

Oui

EventSubClass 1

Nom de la colonne de données

Type de données

Description

ID de la colonne

Filtrable

BigintData1

bigint

Nombre cumulatif de fois où ce plan a été recompilé.

52

Oui

BinaryData

image

Code XML binaire du plan compilé.

2

Oui

DatabaseID

int

ID de la base de données spécifiée par l'instruction USE database ou celui de la base de données par défaut si aucune instruction USE database n'a été spécifiée pour une instance donnée. Le SQL Server Profiler affiche le nom de la base de données si la colonne de données ServerName est capturée dans la trace et que le serveur est disponible. Déterminez la valeur pour une base de données à l'aide de la fonction DB_ID.

3

Oui

EventSequence

int

Séquence d'un événement donné au sein de la demande.

51

Non

SessionLoginName

nvarchar

Nom de connexion de l'utilisateur à l'origine de la session. Exemple : si vous vous connectez à SQL Server en utilisant le nom d'utilisateur Login1 et exécutez une instruction sous le nom Login2, SessionLoginName retourne Login1 et LoginName retourne Login2. Cette colonne affiche les noms de connexion SQL Server et Windows.

64

Oui

EventSubClass

int

Type de sous-classe d'événements.

1 = Les requêtes d'une procédure stockée ont été compilées.

Les types EventSubClass suivants sont générés dans la trace pour les procédures stockées.

Pour les procédures stockées avec un nombre n de requêtes :

  • Nombre n de type 1

21

Oui

IntegerData2

int

Fin de l'instruction dans la procédure stockée.

-1 pour la fin de la procédure stockée.

55

Oui

ObjectID

int

ID affecté à l'objet par le système.

22

Oui

Offset

int

Décalage de départ de l'instruction dans la procédure stockée ou le lot.

61

Oui

SPID

int

ID de la session au cours de laquelle l'événement s'est produit

12

Oui

SqlHandle

image

Handle SQL permettant d'obtenir le texte SQL de la procédure stockée à l'aide de la vue de gestion dynamique dm_exec_sql_text.

63

Oui

StartTime

datetime

Heure à laquelle a débuté l'événement, si elle est connue.

14

Oui

TextData

ntext

NULL

1

Oui

PlanHandle

image

Handle de plan du plan compilé pour la procédure stockée. Il peut servir à obtenir le plan XML à l'aide de la vue de gestion dynamique sys.dm_exec_query_plan.

65

Oui

ObjectType

int

Valeur représentant le type de l'objet qui intervient dans l'événement.

8272 = procédure stockée

28

Oui

BigintData2

bigint

Mémoire totale, en kilo-octets, utilisée au cours de la compilation.

53

Oui

CPU

int

Durée UC totale, en millièmes de secondes, passée au cours de la compilation.

18

Oui

Duration

int

Duré totale, en microsecondes, passée au cours de la compilation.

13

Oui

IntegerData

int

Taille, en kilo-octets, du plan compilé.

25

Oui

EventSubClass 2

Nom de la colonne de données

Type de données

Description

ID de la colonne

Filtrable

BigintData1

bigint

Nombre cumulatif de fois où ce plan a été recompilé.

52

Oui

BinaryData

image

Code XML binaire du plan compilé.

2

Oui

DatabaseID

int

ID de la base de données spécifiée par l'instruction USE database ou celui de la base de données par défaut si aucune instruction USE database n'a été spécifiée pour une instance donnée. Le SQL Server Profiler affiche le nom de la base de données si la colonne de données ServerName est capturée dans la trace et que le serveur est disponible. Déterminez la valeur pour une base de données à l'aide de la fonction DB_ID.

3

Oui

EventSequence

int

Séquence d'un événement donné au sein de la demande.

51

Non

SessionLoginName

nvarchar

Nom de connexion de l'utilisateur à l'origine de la session. Exemple : si vous vous connectez à SQL Server en utilisant le nom d'utilisateur Login1 et exécutez une instruction sous le nom Login2, SessionLoginName retourne Login1 et LoginName retourne Login2. Cette colonne affiche les noms de connexion SQL Server et Windows.

64

Oui

EventSubClass

int

Type de sous-classe d'événements.

2 = Les requêtes d'une instruction SQL ad hoc ont été compilées.

Les types EventSubClass suivants sont générés dans la trace pour les lots ad hoc.

Pour les lots ad hoc avec un nombre n de requêtes :

  • Nombre n de type 2

21

Oui

IntegerData2

int

Fin de l'instruction dans le traitement.

-1 pour la fin du traitement.

55

Oui

ObjectID

int

N/A

22

Oui

Offset

int

Décalage de départ de l'instruction dans le traitement.

0 pour le début du traitement.

61

Oui

SPID

int

ID de la session au cours de laquelle l'événement s'est produit

12

Oui

SqlHandle

image

Handle SQL. Peut être utilisé pour obtenir le texte SQL du lot à l'aide de la vue de gestion dynamique dm_exec_sql_text .

63

Oui

StartTime

datetime

Heure à laquelle a débuté l'événement, si elle est connue.

14

Oui

TextData

ntext

NULL

1

Oui

PlanHandle

image

Descripteur de plan du plan compilé pour le traitement. Peut être utilisé pour obtenir le plan XML du lot à l'aide de la vue de gestion dynamique dm_exec_query_plan.

65

Oui

BigintData2

bigint

Mémoire totale, en kilo-octets, utilisée au cours de la compilation.

53

Oui

CPU

int

Durée UC totale, en microsecondes, passée au cours de la compilation.

18

Oui

Duration

int

Duré totale, en millisecondes, passée au cours de la compilation.

13

Oui

IntegerData

int

Taille, en kilo-octets, du plan compilé.

25

Oui

EventSubClass 3

Nom de la colonne de données

Type de données

Description

ID de la colonne

Filtrable

BigintData1

bigint

Nombre cumulatif de fois où ce plan a été recompilé.

52

Oui

BinaryData

image

NULL

2

Oui

DatabaseID

int

ID de la base de données spécifiée par l'instruction USE database ou celui de la base de données par défaut si aucune instruction USE database n'a été spécifiée pour une instance donnée. Le SQL Server Profiler affiche le nom de la base de données si la colonne de données ServerName est capturée dans la trace et que le serveur est disponible. Déterminez la valeur pour une base de données à l'aide de la fonction DB_ID.

3

Oui

EventSequence

int

Séquence d'un événement donné au sein de la demande.

51

Non

SessionLoginName

nvarchar

Nom de connexion de l'utilisateur à l'origine de la session. Exemple : si vous vous connectez à SQL Server en utilisant le nom d'utilisateur Login1 et exécutez une instruction sous le nom Login2, SessionLoginName retourne Login1 et LoginName retourne Login2. Cette colonne affiche les noms de connexion SQL Server et Windows.

64

Oui

EventSubClass

int

Type de sous-classe d'événements.

3 = Une requête mise en cache a été détruite et l'historique des données de performances correspondant au plan est sur le point d'être détruit.

Les types EventSubClass suivants sont générés dans la trace.

Pour les lots ad hoc avec un nombre n de requêtes :

  • 1 de type 3 lorsque la requête est vidée du cache

Pour les procédures stockées avec un nombre n de requêtes :

  • 1 de type 3 lorsque la requête est vidée du cache.

21

Oui

IntegerData2

int

Fin de l'instruction dans la procédure stockée ou le traitement.

-1 pour la fin de la procédure stockée ou du traitement.

55

Oui

ObjectID

int

NULL

22

Oui

Offset

int

Décalage de départ de l'instruction dans la procédure stockée ou le lot.

0 pour le début de la procédure stockée ou du traitement.

61

Oui

SPID

int

ID de la session au cours de laquelle l'événement s'est produit

12

Oui

SqlHandle

image

Handle SQL permettant d'obtenir le texte SQL du lot ou de la procédure stockée à l'aide de la vue de gestion dynamique dm_exec_sql_text.

63

Oui

StartTime

datetime

Heure à laquelle a débuté l'événement, si elle est connue.

14

Oui

TextData

ntext

QueryExecutionStats

1

Oui

PlanHandle

image

Descripteur de plan du plan compilé pour la procédure stockée ou du traitement. Il peut servir à obtenir le plan XML à l'aide de la vue de gestion dynamique dm_exec_query_plan.

65

Oui

GroupID

int

ID du groupe de charges de travail où l'événement Trace SQL se déclenche.

66

Oui

EventSubClass 4

Nom de la colonne de données

Type de données

Description

ID de la colonne

Filtrable

BigintData1

bigint

NULL

52

Oui

BinaryData

image

NULL

2

Oui

DatabaseID

int

ID de la base de données dans laquelle réside la procédure stockée spécifiée.

3

Oui

EventSequence

int

Séquence d'un événement donné au sein de la demande.

51

Non

SessionLoginName

nvarchar

Nom de connexion de l'utilisateur à l'origine de la session. Exemple : si vous vous connectez à SQL Server en utilisant le nom d'utilisateur Login1 et exécutez une instruction sous le nom Login2, SessionLoginName retourne Login1 et LoginName retourne Login2. Cette colonne affiche les noms de connexion SQL Server et Windows.

64

Oui

EventSubClass

int

Type de sous-classe d'événements.

4 = Une procédure stockée mise en cache a été supprimée du cache et l'historique des données de performances associées est sur le point d'être détruit.

21

Oui

IntegerData2

int

NULL

55

Oui

ObjectID

int

ID de la procédure stockée. Il est identique à celui de la colonne object_id dans sys.procedures.

22

Oui

Offset

int

NULL

61

Oui

SPID

int

ID de la session au cours de laquelle l'événement s'est produit.

12

Oui

SqlHandle

image

Handle SQL permettant d'obtenir le texte SQL de la procédure stockée qui a été exécuté à l'aide de la vue de gestion dynamique dm_exec_sql_text.

63

Oui

StartTime

datetime

Heure à laquelle a débuté l'événement, si elle est connue.

14

Oui

TextData

ntext

ProcedureExecutionStats

1

Oui

PlanHandle

image

Handle de plan du plan compilé pour la procédure stockée. Il peut servir à obtenir le plan XML à l'aide de la vue de gestion dynamique dm_exec_query_plan.

65

Oui

GroupID

int

ID du groupe de charges de travail où l'événement Trace SQL se déclenche.

66

Oui

EventSubClass 5

Nom de la colonne de données

Type de données

Description

ID de la colonne

Filtrable

BigintData1

bigint

NULL

52

Oui

BinaryData

image

NULL

2

Oui

DatabaseID

int

ID de la base de données dans laquelle réside le déclencheur spécifié.

3

Oui

EventSequence

int

Séquence d'un événement donné au sein de la demande.

51

Non

SessionLoginName

nvarchar

Nom de connexion de l'utilisateur à l'origine de la session. Exemple : si vous vous connectez à SQL Server en utilisant le nom d'utilisateur Login1 et exécutez une instruction sous le nom Login2, SessionLoginName retourne Login1 et LoginName retourne Login2. Cette colonne affiche les noms de connexion SQL Server et Windows.

64

Oui

EventSubClass

int

Type de sous-classe d'événements.

5 = Un déclencheur mis en cache a été supprimé du cache et l'historique des données de performances associées est sur le point d'être détruit.

21

Oui

IntegerData2

int

NULL

55

Oui

ObjectID

int

ID du déclencheur. Il est identique à celui de la colonne object_id des affichages catalogue sys.triggers/sys.server_triggers.

22

Oui

Offset

int

NULL

61

Oui

SPID

int

ID de la session au cours de laquelle l'événement s'est produit.

12

Oui

SqlHandle

image

Handle SQL permettant d'obtenir le texte SQL du déclencheur à l'aide de la vue de gestion dynamique dm_exec_sql_text.

63

Oui

StartTime

datetime

Heure à laquelle a débuté l'événement, si elle est connue.

14

Oui

TextData

ntext

TriggerExecutionStats

1

Oui

PlanHandle

image

Handle de plan du plan compilé pour le déclencheur. Il peut servir à obtenir le plan XML à l'aide de la vue de gestion dynamique dm_exec_query_plan.

65

Oui

GroupID

int

ID du groupe de charges de travail où l'événement Trace SQL se déclenche.

66

Oui

Voir aussi

Référence

sp_trace_setevent (Transact-SQL)

Classe d'événements Showplan XML for Query Compile

Fonctions et vues de gestion dynamique (Transact-SQL)

Concepts

Événements étendus