Freigeben über


Performance Statistics-Ereignisklasse

Die Ereignisklasse Performance Statistics kann verwendet werden, um die Leistung von Abfragen, gespeicherten Prozeduren und Triggern zu überwachen, die ausgeführt werden. Jede der sechs Ereignisunterklassen gibt ein Ereignis in der Lebensdauer von Abfragen, gespeicherten Prozeduren und Triggern innerhalb des Systems an. Mithilfe der Kombination dieser Ereignisunterklassen und der zugeordneten sys.dm_exec_query_stats, sys.dm_exec_procedure_stats und sys.dm_exec_trigger_stats dynamischen Verwaltungsansichten können Sie den Leistungsverlauf einer beliebigen Abfrage, gespeicherten Prozedur oder eines Triggers neu erstellen.

Datenspalten für Leistungsstatistiken-Ereignisklassen

In den folgenden Tabellen werden die Ereignisklassendatenspalten beschrieben, die jeder der folgenden Ereignisunterklassen zugeordnet sind: EventSubClass 0, EventSubClass 1,EventSubClass 2,EventSubClass 3, EventSubClass 4 und EventSubClass 5.

EventSubClass 0

Datenspaltenname Datentyp BESCHREIBUNG Spalten-ID Filterbar
BigintData1 bigint NULL 52 Ja
BinaryData image NULL 2 Ja
Datenbank-ID int Die ID der Datenbank, die durch die USE database -Anweisung angegeben wurde, bzw. die ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database -Anweisung ausgegeben wurde. SQL Server Profiler zeigt den Namen der Datenbank an, wenn die ServerName -Datenspalte in der Ablaufverfolgung aufgezeichnet wird und der Server verfügbar ist. Der Wert für eine Datenbank kann mithilfe der DB_ID-Funktion ermittelt werden. 3 Ja
Ereignisfolge int Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. 51 Nein
EreignisUnterklasse int Der Typ der Ereignisunterklasse.

0 = Neuer SQL-Batchtext, der derzeit nicht im Cache vorhanden ist.

Die folgenden EventSubClass-Typen werden in der Ablaufverfolgung für Ad-hoc-Batches generiert.

Für Ad-hoc-Batches mit einer Anzahl von Abfragen:

1 vom Typ 0
21 Ja
IntegerData2 int NULL 55 Ja
Objekt-ID int NULL 22 Ja
Offset int NULL 61 Ja
PlanHandle Image NULL 65 Ja
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 Die ID der Sitzung, in der das Ereignis aufgetreten ist. 12 Ja
SqlHandle image SQL-Handle, das zum Abrufen des SQL-Batchtexts mithilfe der dynamischen Verwaltungsansicht sys.dm_exec_sql_text verwendet werden kann. 63 Ja
Startzeit datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
Textdaten ntext SQL-Text des Batches. 1 Ja

EventSubClass 1

Datenspaltenname Datentyp BESCHREIBUNG Spalten-ID Filterbar
BigintData1 bigint Die kumulierte Anzahl der Neukompilierungen dieses Plans. 52 Ja
BinaryData image Die binäre XML des kompilierten Plans. 2 Ja
Datenbank-ID int Die ID der Datenbank, die durch die USE database -Anweisung angegeben wurde, bzw. die ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database -Anweisung ausgegeben wurde. SQL Server Profiler zeigt den Namen der Datenbank an, wenn die ServerName -Datenspalte in der Ablaufverfolgung aufgezeichnet wird und der Server verfügbar ist. Der Wert für eine Datenbank kann mithilfe der DB_ID-Funktion ermittelt werden. 3 Ja
Ereignisfolge int Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. 51 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
EreignisUnterklasse int Der Typ der Ereignisunterklasse.

1 = Abfragen innerhalb einer gespeicherten Prozedur wurden kompiliert.

Die folgenden EventSubClass-Typen werden in der Ablaufverfolgung für gespeicherte Prozeduren generiert.

Für gespeicherte Prozeduren mit einer Anzahl von Abfragen:

n Anzahl vom Typ 1
21 Ja
IntegerData2 int Ende der Anweisung innerhalb der gespeicherten Prozedur.

-1 für das Ende der gespeicherten Prozedur.
55 Ja
Objekt-ID int Vom System zugewiesene ID des Objekts. 22 Ja
Offset int Der Startoffset der Anweisung in der gespeicherten Prozedur oder im Batch. 61 Ja
SPID int Die ID der Sitzung, in der das Ereignis aufgetreten ist. 12 Ja
SqlHandle image SQL-Handle, das verwendet werden kann, um den SQL-Text der gespeicherten Prozedur mithilfe der dm_exec_sql_text dynamischen Verwaltungsansicht abzurufen. 63 Ja
Startzeit datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
Textdaten ntext NULL 1 Ja
PlanHandle image Der Planhandle des kompilierten Plans für die gespeicherte Prozedur. Dies kann verwendet werden, um den XML-Plan mithilfe der sys.dm_exec_query_plan dynamischen Verwaltungsansicht abzurufen. 65 Ja
Objekttyp int Ein Wert, der den Typ des Objekts darstellt, das an dem Ereignis beteiligt ist.

8272 = gespeicherte Prozedur
28 Ja
BigintData2 bigint Gesamtspeicher in Kilobyte, der während der Kompilierung verwendet wird. 53 Ja
Prozessor int Cpu-Gesamtzeit in Millisekunden, die während der Kompilierung aufgewendet wurde. 18 Ja
Dauer int Gesamtzeit in Mikrosekunden, die während der Kompilierung aufgewendet wurden. 13 Ja
IntegerData int Die Größe des kompilierten Plans in Kilobyte. 25 Ja

EventSubClass 2

Datenspaltenname Datentyp BESCHREIBUNG Spalten-ID Filterbar
BigintData1 bigint Die kumulierte Anzahl der Neukompilierungen dieses Plans. 52 Ja
BinaryData image Die binäre XML des kompilierten Plans. 2 Ja
Datenbank-ID int Die ID der Datenbank, die durch die USE database -Anweisung angegeben wurde, bzw. die ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database -Anweisung ausgegeben wurde. SQL Server Profiler zeigt den Namen der Datenbank an, wenn die ServerName -Datenspalte in der Ablaufverfolgung aufgezeichnet wird und der Server verfügbar ist. Der Wert für eine Datenbank kann mithilfe der DB_ID-Funktion ermittelt werden. 3 Ja
Ereignisfolge int Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. 51 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
EreignisUnterklasse int Der Typ der Ereignisunterklasse.

2 = Abfragen innerhalb einer Ad-hoc-SQL-Anweisung wurden kompiliert.

Die folgenden EventSubClass-Typen werden in der Ablaufverfolgung für Ad-hoc-Batches generiert.

Für Ad-hoc-Batches mit einer Anzahl von Abfragen:

n Anzahl vom Typ 2
21 Ja
IntegerData2 int Ende der Anweisung innerhalb des Batches.

-1 für das Ende des Batches.
55 Ja
Objekt-ID int Nicht verfügbar 22 Ja
Offset int Startoffset der Anweisung innerhalb des Batches.

0 für den Anfang des Batches.
61 Ja
SPID int Die ID der Sitzung, in der das Ereignis aufgetreten ist. 12 Ja
SqlHandle image SQL-Handle. Dies kann verwendet werden, um den SQL-Batchtext mithilfe der dm_exec_sql_text dynamischen Verwaltungsansicht abzurufen. 63 Ja
Startzeit datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
Textdaten ntext NULL 1 Ja
PlanHandle image Der Planhandle des kompilierten Plans für den Batch. Dies kann verwendet werden, um den BATCH-XML-Plan mithilfe der dynamischen Verwaltungsansicht dm_exec_query_plan abzurufen. 65 Ja
BigintData2 bigint Gesamtspeicher in Kilobyte, der während der Kompilierung verwendet wird. 53 Ja
Prozessor int Cpu-Gesamtzeit in Mikrosekunden, die während der Kompilierung aufgewendet wurden. 18 Ja
Dauer int Gesamtzeit in Millisekunden, die während der Kompilierung aufgewendet wurden. 13 Ja
IntegerData int Die Größe des kompilierten Plans in Kilobyte. 25 Ja

EventSubClass 3

Datenspaltenname Datentyp BESCHREIBUNG Spalten-ID Filterbar
BigintData1 bigint Die kumulierte Anzahl der Neukompilierungen dieses Plans. 52 Ja
BinaryData image NULL 2 Ja
Datenbank-ID int Die ID der Datenbank, die durch die USE database -Anweisung angegeben wurde, bzw. die ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database -Anweisung ausgegeben wurde. SQL Server Profiler zeigt den Namen der Datenbank an, wenn die ServerName -Datenspalte in der Ablaufverfolgung aufgezeichnet wird und der Server verfügbar ist. Der Wert für eine Datenbank kann mithilfe der DB_ID-Funktion ermittelt werden. 3 Ja
Ereignisfolge int Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. 51 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
EreignisUnterklasse int Der Typ der Ereignisunterklasse.

3 = Eine zwischengespeicherte Abfrage wurde zerstört, und die historischen Leistungsdaten, die mit dem Plan verknüpft sind, werden gerade zerstört.

Die folgenden Ereignisunterklasse-Typen werden im Verlauf der Ablaufverfolgung generiert.

Für Ad-hoc-Batches mit einer Anzahl von Abfragen:

1 vom Typ 3, wenn die Abfrage aus dem Cache geleert wird

Für gespeicherte Prozeduren mit einer Anzahl von Abfragen:
1 vom Typ 3, wenn die Abfrage aus dem Cache geleert wird.
21 Ja
IntegerData2 int Ende der Anweisung innerhalb der gespeicherten Prozedur oder des Batches.

-1 für das Ende der gespeicherten Prozedur oder des Batches.
55 Ja
Objekt-ID int NULL 22 Ja
Offset int Der Startoffset der Anweisung in der gespeicherten Prozedur oder im Batch.

0 für den Anfang der gespeicherten Prozedur oder des Batches.
61 Ja
SPID int Die ID der Sitzung, in der das Ereignis aufgetreten ist. 12 Ja
SqlHandle image SQL-Handle, das zum Abrufen der gespeicherten Prozedur oder des Batch-SQL-Texts mithilfe der dm_exec_sql_text dynamischen Verwaltungsansicht verwendet werden kann. 63 Ja
Startzeit datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
Textdaten ntext Ausführungsstatistiken der Abfrage 1 Ja
PlanHandle image Der Planhandle des kompilierten Plans für die gespeicherte Prozedur oder den Batch. Dies kann verwendet werden, um den XML-Plan mithilfe der dm_exec_query_plan dynamischen Verwaltungsansicht abzurufen. 65 Ja
Gruppen-ID int ID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird. 66 Ja

EventSubClass 4

Datenspaltenname Datentyp BESCHREIBUNG Spalten-ID Filterbar
BigintData1 bigint NULL 52 Ja
BinaryData image NULL 2 Ja
Datenbank-ID int ID der Datenbank, in der sich die angegebene gespeicherte Prozedur befindet. 3 Ja
Ereignisfolge int Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. 51 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
EreignisUnterklasse int Der Typ der Ereignisunterklasse.

4 = Eine zwischengespeicherte gespeicherte Prozedur wurde aus dem Cache entfernt, und die historischen Leistungsdaten, die damit verbunden sind, werden gerade zerstört.
21 Ja
IntegerData2 int NULL 55 Ja
Objekt-ID int ID der gespeicherten Prozedur. Dies entspricht der object_id Spalte in sys.procedures. 22 Ja
Offset int NULL 61 Ja
SPID int Die ID der Sitzung, in der das Ereignis aufgetreten ist. 12 Ja
SqlHandle image SQL-Handle, das verwendet werden kann, um den SQL-Text der gespeicherten Prozedur abzurufen, der mithilfe der dynamischen Verwaltungsansicht dm_exec_sql_text ausgeführt wurde. 63 Ja
Startzeit datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
Textdaten ntext ProcedureExecutionStats 1 Ja
PlanHandle image Der Planhandle des kompilierten Plans für die gespeicherte Prozedur. Dies kann verwendet werden, um den XML-Plan mithilfe der dm_exec_query_plan dynamischen Verwaltungsansicht abzurufen. 65 Ja
Gruppen-ID int ID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird. 66 Ja

EventSubClass 5

Datenspaltenname Datentyp BESCHREIBUNG Spalten-ID Filterbar
BigintData1 bigint NULL 52 Ja
BinaryData image NULL 2 Ja
Datenbank-ID int ID der Datenbank, in der sich der angegebene Trigger befindet. 3 Ja
Ereignisfolge int Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. 51 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
EreignisUnterklasse int Der Typ der Ereignisunterklasse.

5 = Ein zwischengespeicherter Auslöser wurde aus dem Cache entfernt, und die historischen Leistungsdaten, die damit verbunden sind, werden gerade zerstört.
21 Ja
IntegerData2 int NULL 55 Ja
Objekt-ID int Identifikationsnummer des Auslösers. Dies entspricht der object_id Spalte in sys.triggers/sys.server_triggers Katalogansichten. 22 Ja
Offset int NULL 61 Ja
SPID int Die ID der Sitzung, in der das Ereignis aufgetreten ist. 12 Ja
SqlHandle image SQL-Handle, das zum Abrufen des SQL-Texts des Triggers mithilfe der dynamischen Verwaltungsansicht dm_exec_sql_text verwendet werden kann. 63 Ja
Startzeit datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
Textdaten ntext Ausführungsstatistiken für Trigger 1 Ja
PlanHandle image Der Planhandle des kompilierten Plans für den Trigger. Dies kann verwendet werden, um den XML-Plan mithilfe der dm_exec_query_plan dynamischen Verwaltungsansicht abzurufen. 65 Ja
Gruppen-ID int ID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird. 66 Ja

Siehe auch

Erweiterte Ereignisse
sp_trace_setevent (Transact-SQL)
Showplan-XML für die Abfragekompilierungsereignisklasse
Dynamische Verwaltungssichten und Funktionen (Transact-SQL)