Classe d'événements SP:Recompile

La classe d'événements SP:Recompile indique qu'une procédure stockée, un déclencheur ou une fonction définie par l'utilisateur a été compilé. Dans SQL Server 2005 et versions ultérieures, les recompilations signalées par cette classe d'événements se produisent au niveau de l'instruction, alors que celles de SQL Server 2000 se produisaient au niveau du lot.

Dans SQL Server 2005 et versions ultérieures, le meilleur moyen d'assurer la trace des recompilations de niveau instruction consiste à utiliser la classe d'événements SQL:StmtRecompile. Introduite dans SQL Server 2005, la classe d'événements SP:Recompile a été désapprouvée. Pour plus d'informations, consultez Classe d'événements SQL:StmtRecompile et « Recompilation des plans d'exécution » dans Mise en mémoire cache et réutilisation du plan d'exécution.

Colonnes de la classe d'événements SP:Recompile

Nom de la colonne

Data type

Description

ID de colonne

Filtrable

ApplicationName

nvarchar

Nom de l'application cliente qui a créé la connexion à une instance MicrosoftSQL Server. Cette colonne est remplie des valeurs transmises par l'application et non pas du nom affiché du programme.

10

Oui

ClientProcessID

int

ID affecté par l'ordinateur hôte au processus dans lequel s'exécute l'application cliente. Cette colonne de données est remplie si le client fournit l'ID du processus.

9

Oui

DatabaseID

int

ID de la base de données dans laquelle la procédure stockée est exécutée. Détermine la valeur pour une base de données à l'aide de la fonction DB_ID.

3

Oui

DatabaseName

nvarchar

Nom de la base de données dans laquelle la procédure stockée est exécutée.

35

Oui

EventClass

int

Type d'événement = 37.

27

Non

EventSequence

int

Séquence d'un événement donné dans la demande.

51

Non

EventSubClass

int

Type de sous-classe d'événements. Indique la raison de la recompilation.

1 = Schéma modifié

2 = Statistiques modifiées

3 = Recompiler DNR

4 = Option Set modifiée

5 = Table temporaire modifiée

6 = Ensemble de lignes distant modifié

7 = Autorisations de recherche modifiées

8 = Environnement de notification de requête modifié

9 = Vue MPI modifiée

10 = Options de curseur modifiées

11 = Avec option de recompilation

21

Oui

GroupID

int

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

66

Oui

HostName

nvarchar

Nom de l'ordinateur sur lequel s'exécute le client. Cette colonne de données est remplie si le client fournit le nom de l'hôte. Pour déterminer le nom de l'hôte, utilisez la fonction HOST_NAME.

8

Oui

IntegerData2

int

Décalage de fin de l'instruction dans la procédure stockée ou le traitement qui a provoqué la recompilation. Le décalage de fin est -1 si l'instruction est la dernière de son traitement.

55

Oui

IsSystem

int

Indique si l'événement s'est produit sur un processus système ou un processus utilisateur. 1 = système, 0 = utilisateur.

60

Oui

LoginName

nvarchar

Nom de la connexion de l'utilisateur (soit la connexion de sécurité SQL Server, soit les informations d'identification Microsoft Windows sous la forme DOMAINE\Nomutilisateur).

11

Oui

LoginSid

image

Numéro d'identification de sécurité (SID) de l'utilisateur connecté. Vous pouvez trouver ces informations dans l'affichage catalogue sys.server_principals. Chaque SID est unique pour chaque connexion dans le serveur.

41

Oui

NestLevel

int

Niveau d'imbrication de la procédure stockée.

29

Oui

NTDomainName

nvarchar

Domaine Windows auquel appartient l'utilisateur.

7

Oui

NTUserName

nvarchar

Nom d'utilisateur Windows.

6

Oui

ObjectID

int

ID affecté par le système à la procédure stockée.

22

Oui

ObjectName

nvarchar

Nom de l'objet qui a déclenché la recompilation.

34

Oui

ObjectType

int

Valeur représentant le type de l'objet qui intervient dans l'événement. Pour plus d'informations, consultez Colonne d'événements de trace ObjectType.

28

Oui

Offset

int

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

61

Oui

RequestID

int

ID de la demande qui contient l'instruction.

49

Oui

ServerName

nvarchar

Nom de l'instance SQL Server tracée.

26

Non

SessionLoginName

nvarchar

Nom de connexion de l'utilisateur qui a créé 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 connexions SQL Server et Windows.

64

Oui

SPID

int

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

12

Oui

SqlHandle

varbinary

Hachage 64 bits basé sur le texte d'une requête ad hoc ou sur la base de données et l'ID d'objet d'un objet SQL. Cette valeur peut être passée à sys.dm_exec_sql_text pour récupérer le texte SQL associé.

63

Oui

StartTime

datetime

Heure de début de l'événement, si elle est disponible.

14

Oui

TextData

ntext

Texte de l'instruction Transact-SQL qui a entraîné la recompilation de niveau instruction. Remarquez que cette colonne de données n'était pas remplie dans SQL Server 2000, mais l'est dans SQL Server 2005 et versions ultérieures.

1

Oui

TransactionID

bigint

ID affecté par le système à la transaction.

4

Oui

XactSequence

bigint

Jeton qui décrit la transaction actuelle.

50

Oui