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_statset 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 colonne

Filtrage possible

BigintData1

bigint

NULL

52

Oui

BinaryData

image

NULL

2

Oui

DatabaseID

int

Identificateur de la base de données spécifiée par l'instruction USE database ou la base de données par défaut si aucune instruction USE database n'a été émise 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étermine 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 traitements ad hoc.

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

  • 1 de type 0

21

Yes

IntegerData2

int

NULL

55

Oui

ObjectID

int

NULL

22

Oui

Offset

int

NULL

61

Oui

PlanHandle

Image

NULL

65

Yes

SessionLoginName

nvarchar

Affiche le nom de l'utilisateur qui a initialisé la session. Par exemple, si vous vous connectez à SQL Server en utilisant le nom Connexion1 et que vous exécutez une instruction en tant que Connexion2, SessionLoginName affiche Connexion1 et LoginName, Connexion2. Cette colonne affiche les noms de connexion SQL Server et Windows.

64

Oui

SPID

int

ID de la session sur 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 disponible.

14

Oui

TextData

ntext

Texte SQL du traitement.

1

Yes

EventSubClass 1

Nom de la colonne de données

Type de données

Description 

ID de colonne

Filtrage possible

BigintData1

bigint

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

52

Oui

BinaryData

image

Code XML binaire du plan compilé.

2

Oui

DatabaseID

int

Identificateur de la base de données spécifiée par l'instruction USE database ou la base de données par défaut si aucune instruction USE database n'a été émise 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étermine 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

Affiche le nom de l'utilisateur qui a initialisé la session. Par exemple, si vous vous connectez à SQL Server en utilisant le nom Connexion1 et que vous exécutez une instruction en tant que Connexion2, SessionLoginName affiche Connexion1 et LoginName, Connexion2. 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 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

Yes

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 traitement.

61

Oui

SPID

int

ID de la session sur 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 disponible.

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

Yes

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

Yes

Duration

int

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

13

Yes

IntegerData

int

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

25

Yes

EventSubClass 2

Nom de la colonne de données

Type de données

Description 

ID de colonne

Filtrage possible

BigintData1

bigint

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

52

Oui

BinaryData

image

Code XML binaire du plan compilé.

2

Oui

DatabaseID

int

Identificateur de la base de données spécifiée par l'instruction USE database ou la base de données par défaut si aucune instruction USE database n'a été émise 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étermine 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

Affiche le nom de l'utilisateur qui a initialisé la session. Par exemple, si vous vous connectez à SQL Server en utilisant le nom Connexion1 et que vous exécutez une instruction en tant que Connexion2, SessionLoginName affiche Connexion1 et LoginName, Connexion2. 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 traitements ad hoc.

Pour les traitements 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

Yes

ObjectID

int

Non applicable

22

Yes

Offset

int

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

0 pour le début du traitement.

61

Yes

SPID

int

ID de la session sur 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 disponible.

14

Oui

TextData

ntext

NULL

1

Oui

PlanHandle

image

Descripteur de plan du plan compilé pour le traitement. Il peut servir à 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

Yes

Duration

int

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

13

Yes

IntegerData

int

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

25

Yes

EventSubClass 3

Nom de la colonne de données

Type de données

Description

ID de colonne

Filtrage possible

BigintData1

bigint

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

52

Oui

BinaryData

image

NULL

2

Oui

DatabaseID

int

Identificateur de la base de données spécifiée par l'instruction USE database ou la base de données par défaut si aucune instruction USE database n'a été émise 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étermine 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

Affiche le nom de l'utilisateur qui a initialisé la session. Par exemple, si vous vous connectez à SQL Server en utilisant le nom Connexion1 et que vous exécutez une instruction en tant que Connexion2, SessionLoginName affiche Connexion1 et LoginName, Connexion2. 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 traitements 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

Yes

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

Yes

ObjectID

int

NULL

22

Oui

Offset

int

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

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

61

Yes

SPID

int

ID de la session sur 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 ou 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 disponible.

14

Oui

TextData

ntext

QueryExecutionStats

1

Yes

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 SQL Trace se déclenche.

66

Oui

EventSubClass 4

Nom de la colonne de données

Type de données

Description

ID de 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

Affiche le nom de l'utilisateur qui a initialisé la session. Par exemple, si vous vous connectez à SQL Server en utilisant le nom Connexion1 et que vous exécutez une instruction en tant que Connexion2, SessionLoginName affiche Connexion1 et LoginName, Connexion2. 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 sur 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é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 disponible.

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 SQL Trace se déclenche.

66

Oui

EventSubClass 5

Nom de la colonne de données

Type de données

Description

ID de 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

Affiche le nom de l'utilisateur qui a initialisé la session. Par exemple, si vous vous connectez à SQL Server en utilisant le nom Connexion1 et que vous exécutez une instruction en tant que Connexion2, SessionLoginName affiche Connexion1 et LoginName, Connexion2. 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 sur 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 disponible.

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 SQL Trace se déclenche.

66

Oui