Freigeben über


SQL:StmtRecompile-Ereignisklasse

Die SQL:StmtRecompile-Ereignisklasse gibt Neukompilierungen auf Anweisungsebene an, die durch alle Arten von Batches verursacht werden: gespeicherte Prozeduren, Trigger, Ad-hoc-Batches und Abfragen. Abfragen können mithilfe von sp_executesql, dynamischer SQL, Prepare-Methoden, Execute-Methoden oder ähnlichen Schnittstellen übermittelt werden. Die SQL:StmtRecompile-Ereignisklasse sollte anstelle der SP:Recompile-Ereignisklasse verwendet werden.

SQL:StmtRecompile-Ereignisklassendatenspalten

Datenspaltenname Datentyp BESCHREIBUNG Spalten-ID Filterbar
Anwendungsname nvarchar Name der Clientanwendung, die die Verbindung mit einer Instanz von Microsoft SQL Server erstellt hat. Diese Spalte wird mit den Werten gefüllt, die von der Anwendung übergeben werden, und nicht mit dem angezeigten Namen des Programms. 10 Ja
ClientProcessID int Die ID, die der Hostcomputer dem Prozess zuweist, in dem die Clientanwendung ausgeführt wird. Diese Datenspalte wird aufgefüllt, wenn der Client die Prozess-ID bereitstellt. 9 Ja
Datenbank-ID int ID der Datenbank, in der die gespeicherte Prozedur ausgeführt wird. Der Wert für eine Datenbank kann mithilfe der DB_ID-Funktion ermittelt werden. 3 Ja
Datenbankname nvarchar Name der Datenbank, in der die gespeicherte Prozedur ausgeführt wird. 35 Ja
Ereignisfolge int Die Abfolge eines Ereignisses innerhalb der Anforderung. 51 Nein
EreignisUnterklasse int Beschreibt die Ursache der Neukompilierung:

1 = Schema geändert

2 = Statistik geändert

3 = Verzögerte Kompilierung

4 = Option geändert festlegen

5 = Temp-Tabelle geändert

6 = Remote-Zeilenbestand geändert

7 = Berechtigungen für "Durchsuchen" wurden geändert

8 = Abfragebenachrichtigungsumgebung geändert

9 = Partitionsansicht geändert

10 = Cursoroptionen geändert

11 = Option (erneut kompilieren) angefordert
21 Ja
Gruppen-ID int ID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird. 66 Ja
Hostname (Rechnername) nvarchar Name des Computers, auf dem der Client läuft, der diese Anweisung übermittelt hat. Diese Datenspalte wird aufgefüllt, wenn der Hostname vom Client bereitgestellt wird. Verwenden Sie die HOST_NAME -Funktion, um den Hostnamen zu bestimmen. 8 Ja
IntegerData2 int Endoffset der Anweisung innerhalb der gespeicherten Prozeduren oder Batches, die eine Neukompilierung verursacht hat. Endoffset ist -1, wenn die Anweisung die letzte Anweisung im Batch ist. 55 Ja
IsSystem int Gibt an, ob das Ereignis bei einem Systemprozess oder einem Benutzerprozess aufgetreten ist.

1 = System

0 = Benutzer
60 Ja
Zeilennummer int Sequenznummer dieser Aussage innerhalb des Stapels, falls zutreffend. 5 Ja
Anmeldename nvarchar Der Name der Anmeldung, die diesen Batch übermittelt hat. 11 Ja
LoginSid image Sicherheits-ID (SID) des aktuell angemeldeten Benutzers. Diese Informationen finden Sie in der sys.server_principals-Katalogsicht. Die SID ist für jede Anmeldung beim Server eindeutig. 41 Ja
NestLevel int Die Schachtelungsebene des Aufrufs der gespeicherten Prozedur. Beispielsweise ruft die gespeicherte Prozedur my_proc_a die Prozedur my_proc_b auf. In diesem Fall verfügt my_proc_a über einen NestLevel von 1, my_proc_b hat einen NestLevel von 2. 29 Ja
NT-Domänenname nvarchar Windows-Domäne, zu der der Benutzer gehört. 7 Ja
NTUserName (NT-Benutzername) nvarchar Windows-Benutzername des verbundenen Benutzers. 6 Ja
Objekt-ID int Vom System zugewiesener Bezeichner des Objekts, das die Anweisung enthält, die die Neukompilierung verursacht hat. Dieses Objekt kann eine gespeicherte Prozedur, ein Trigger oder eine benutzerdefinierte Funktion sein. Für Ad-hoc-Batches oder vorbereitete SQL geben ObjectID und ObjectName einen NULL-Wert zurück. 22 Ja
Objektname nvarchar Der Name des durch ObjectID identifizierten Objekts. 34 Ja
Objekttyp int Wert, der den Typ des Objekts darstellt, das an dem Ereignis beteiligt ist. Weitere Informationen finden Sie unter ObjectType Trace Event Column. 28 Ja
Offset int Anfangsoffset der Anweisung innerhalb der gespeicherten Prozedur oder des Batches, die eine Neukompilierung verursacht. 61 Ja
RequestID int Die ID der Anforderung, die die Anweisung enthält. 49 Ja
Servername nvarchar Name des SQL Server, der nachverfolgt wird. 26 Nein
SessionLoginName nvarchar Der Anmeldename des Benutzers, der die Sitzung gestartet hat. Wenn Sie beispielsweise mithilfe von Login1 eine Verbindung mit SQL Server herstellen und eine Anweisung als Login2 ausführen, zeigt SessionLoginName "Login1" und "LoginName" "Login2" an. In dieser Spalte werden sowohl SQL Server- als auch Windows-Anmeldungen angezeigt. 64 Ja
SPID int Serverprozess-ID der Verbindung. 12 Ja
SqlHandle varbinary 64-Bit-Hash, der auf dem Text einer Ad-hoc-Abfrage oder der Datenbank- und Objekt-ID eines SQL-Objekts basiert. Dieser Wert kann an sys.dm_exec_sql_text übergeben werden, um den zugeordneten SQL-Text abzurufen. 63 Nein
Startzeit datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
Textdaten ntext Text der Transact-SQL-Anweisung, die neu kompiliert wurde. 1 Ja
TransactionID bigint Die vom System zugewiesene ID der Transaktion. 4 Ja
XactSequence bigint Das Token, das die aktuelle Transaktion beschreibt. 50 Ja

Siehe auch

SP:Recompile-Ereignisklasse
sp_trace_setevent (Transact-SQL)