Performance Statistics-Ereignisklasse

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Die Performance Statistics-Ereignisklasse kann zur Leistungsüberwachung der ausgeführten Abfragen, gespeicherten Prozeduren und Trigger verwendet werden. Jede der sechs Ereignisunterklassen zeigt ein Ereignis für die Lebensdauer von Abfragen, gespeicherten Prozeduren und Triggern innerhalb des Systems an. Mithilfe einer Kombination aus diesen Ereignisunterklassen und den zugehörigen dynamischen Verwaltungssichten sys.dm_exec_query_stats, sys.dm_exec_procedure_stats und sys.dm_exec_trigger_stats können Sie den Leistungsverlauf einer bestimmten Abfrage, gespeicherten Prozedur oder eines Triggers nachvollziehen.

Datenspalten der Performance Statistics-Ereignisklasse

In den folgenden Tabellen werden die Ereignisklassen-Datenspalten beschrieben, die jeweils den folgenden Ereignisunterklassen zugeordnet sind: EventSubClass 0, EventSubClass 1, EventSubClass 2, EventSubClass 3, EventSubClass 4 und EventSubClass 5.

EventSubClass 0

Datenspaltenname Datentyp BESCHREIBUNG Column ID Filterbar
BigintData1 bigint NULL 52 Ja
BinaryData image NULL 2 Ja
DatabaseID 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
EventSequence int Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. 51 Nein
EventSubClass int Der Typ der Ereignisunterklasse.

0 = Neuer SQL-Text des Batches, der zurzeit 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 n Abfragen:

1 vom Typ 0
21 Ja
IntegerData2 int NULL 55 Ja
ObjectID 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 den Wert Login1 an und LoginName den Wert Login2. Diese Spalte zeigt sowohl den SQL Server - als auch den Windows-Anmeldenamen an. 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-Texts des Batchs mithilfe der dynamischen Verwaltungssicht sys.dm_exec_sql_text verwendet werden kann. 63 Ja
StartTime datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
TextData ntext SQL-Text des Batches. 1 Ja

EventSubClass 1

Datenspaltenname Datentyp BESCHREIBUNG Column ID Filterbar
BigintData1 bigint Die Gesamtanzahl der Neukompilierungen dieses Plans. 52 Ja
BinaryData image Binary XML des kompilierten Plans. 2 Ja
DatabaseID 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
EventSequence 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 den Wert Login1 an und LoginName den Wert Login2. Diese Spalte zeigt sowohl den SQL Server - als auch den Windows-Anmeldenamen an. 64 Ja
EventSubClass 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 n Abfragen:

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

-1 für das Ende der gespeicherten Prozedur.
55 Ja
ObjectID 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 zum Abrufen des SQL-Texts der gespeicherten Prozedur mithilfe der dynamischen Verwaltungssicht dm_exec_sql_text verwendet werden kann. 63 Ja
StartTime datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
TextData ntext NULL 1 Ja
PlanHandle image Das Planhandle des kompilierten Plans für die gespeicherte Prozedur. Hiermit kann der XML-Plan abgerufen werden, indem die dynamische Verwaltungssicht sys.dm_exec_query_plan verwendet wird. 65 Ja
ObjektType int Ein Wert, der den Typ des am Ereignis beteiligten Objekts darstellt.

8272 = gespeicherte Prozedur
28 Ja
BigintData2 bigint Für die Kompilierung verwendeter Arbeitsspeicher insgesamt (in KB). 53 Ja
CPU int Die CPU-Gesamtzeit in Millisekunden, die für die Kompilierung erforderlich war. 18 Ja
Duration int Gesamtzeit für die Kompilierung in Mikrosekunden. 13 Ja
IntegerData int Die Größe des kompilierten Plans (in KB). 25 Ja

EventSubClass 2

Datenspaltenname Datentyp BESCHREIBUNG Column ID Filterbar
BigintData1 bigint Die Gesamtanzahl der Neukompilierungen dieses Plans. 52 Ja
BinaryData image Binary XML des kompilierten Plans. 2 Ja
DatabaseID 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
EventSequence 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 den Wert Login1 an und LoginName den Wert Login2. Diese Spalte zeigt sowohl den SQL Server - als auch den Windows-Anmeldenamen an. 64 Ja
EventSubClass 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 n Abfragen:

n vom Typ 2
21 Ja
IntegerData2 int Ende der Anweisung im Batch.

-1 für das Ende des Batches.
55 Ja
ObjectID int 22 Ja
Offset int Startoffset der Anweisung im Batch.

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 Hiermit kann der SQL-Text des Batchs abgerufen werden, indem die dynamische Verwaltungssicht dm_exec_sql_text verwendet wird. 63 Ja
StartTime datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
TextData ntext NULL 1 Ja
PlanHandle image Das Planhandle des kompilierten Plans für den Batch. Hiermit kann der Batch-XML-Plan abgerufen werden, indem die dynamische Verwaltungssicht dm_exec_query_plan verwendet wird. 65 Ja
BigintData2 bigint Für die Kompilierung verwendeter Arbeitsspeicher insgesamt (in KB). 53 Ja
CPU int Die CPU-Gesamtzeit in Mikrosekunden, die für die Kompilierung erforderlich war. 18 Ja
Duration int Gesamtzeit für die Kompilierung in Millisekunden. 13 Ja
IntegerData int Die Größe des kompilierten Plans (in KB). 25 Ja

EventSubClass 3

Datenspaltenname Datentyp BESCHREIBUNG Column ID Filterbar
BigintData1 bigint Die Gesamtanzahl der Neukompilierungen dieses Plans. 52 Ja
BinaryData image NULL 2 Ja
DatabaseID 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
EventSequence 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 den Wert Login1 an und LoginName den Wert Login2. Diese Spalte zeigt sowohl den SQL Server - als auch den Windows-Anmeldenamen an. 64 Ja
EventSubClass int Der Typ der Ereignisunterklasse.

3 = Eine zwischengespeicherte Abfrage wurde gelöscht, und die Leistungsverlaufsdaten dieses Plans werden nun gelöscht.

Die folgenden EventSubClass-Typen werden in der Ablaufverfolgung generiert.

Für Ad-hoc-Batches mit n Abfragen:

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

Für gespeicherte Prozeduren mit n Abfragen:

1 vom Typ 3, wenn die Abfrage aus dem Cache geleert wird.
21 Ja
IntegerData2 int Ende der Anweisung in der gespeicherten Prozedur oder dem Batch.

-1 für das Ende der gespeicherten Prozedur oder des Batches.
55 Ja
ObjectID 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 des SQL-Texts der gespeicherten Prozedur oder des Batchs mithilfe der dynamischen Verwaltungssicht dm_exec_sql_text verwendet werden kann. 63 Ja
StartTime datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
TextData ntext QueryExecutionStats 1 Ja
PlanHandle image Das Planhandle des kompilierten Plans für die gespeicherte Prozedur oder den Batch. Hiermit kann der XML-Plan abgerufen werden, indem die dynamische Verwaltungssicht dm_exec_query_plan verwendet wird. 65 Ja
GroupID int ID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird. 66 Ja

EventSubClass 4

Datenspaltenname Datentyp BESCHREIBUNG Column ID Filterbar
BigintData1 bigint NULL 52 Ja
BinaryData image NULL 2 Ja
DatabaseID int ID der Datenbank, in der sich die angegebene gespeicherte Prozedur befindet. 3 Ja
EventSequence 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 den Wert Login1 an und LoginName den Wert Login2. Diese Spalte zeigt sowohl den SQL Server - als auch den Windows-Anmeldenamen an. 64 Ja
EventSubClass int Der Typ der Ereignisunterklasse.

4 = Eine zwischengespeicherte gespeicherte Prozedur wurde aus dem Cache gelöscht, und die verknüpften Leistungsverlaufsdaten werden nun gelöscht.
21 Ja
IntegerData2 int NULL 55 Ja
ObjectID int ID der gespeicherten Prozedur. 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 zum Abrufen des SQL-Texts der ausgeführten gespeicherten Prozedur mithilfe der dynamischen Verwaltungssicht dm_exec_sql_text verwendet werden kann. 63 Ja
StartTime datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
TextData ntext ProcedureExecutionStats 1 Ja
PlanHandle image Das Planhandle des kompilierten Plans für die gespeicherte Prozedur. Hiermit kann der XML-Plan abgerufen werden, indem die dynamische Verwaltungssicht dm_exec_query_plan verwendet wird. 65 Ja
GroupID int ID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird. 66 Ja

EventSubClass 5

Datenspaltenname Datentyp BESCHREIBUNG Column ID Filterbar
BigintData1 bigint NULL 52 Ja
BinaryData image NULL 2 Ja
DatabaseID int ID der Datenbank, in der sich der angegebene Trigger befindet. 3 Ja
EventSequence 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 den Wert Login1 an und LoginName den Wert Login2. Diese Spalte zeigt sowohl den SQL Server - als auch den Windows-Anmeldenamen an. 64 Ja
EventSubClass int Der Typ der Ereignisunterklasse.

5 = Ein zwischengespeicherter Trigger wurde aus dem Cache gelöscht, und die verknüpften Leistungsverlaufsdaten werden nun gelöscht.
21 Ja
IntegerData2 int NULL 55 Ja
ObjectID int ID des Triggers. Entspricht der object_id-Spalte in den Katalogsichten sys.triggers und sys.server_triggers. 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 Verwaltungssicht dm_exec_sql_text verwendet werden kann. 63 Ja
StartTime datetime Zeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden). 14 Ja
TextData ntext TriggerExecutionStats 1 Ja
PlanHandle image Das Planhandle des kompilierten Plans für den Trigger. Hiermit kann der XML-Plan abgerufen werden, indem die dynamische Verwaltungssicht dm_exec_query_plan verwendet wird. 65 Ja
GroupID int ID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird. 66 Ja

Weitere Informationen

Erweiterte Ereignisse
sp_trace_setevent (Transact-SQL)
Showplan XML for Query Compile (Ereignisklasse)
Dynamische Verwaltungssichten und Funktionen (Transact-SQL)