Performance Statistics-Ereignisklasse
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 einer 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 |
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 erfasst 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 |
Die Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. |
51 |
Nein |
EventSubClass |
int |
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:
|
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, LoginName dagegen den Wert "Login2". Diese Spalte zeigt sowohl den SQL Server- als auch den Windows-Anmeldenamen an. |
64 |
Ja |
SPID |
int |
ID der Sitzung, bei 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 |
Spalten-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 erfasst 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 |
Die Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. |
51 |
Nein |
SessionLoginName |
nvarchar |
Der Anmeldename des Benutzers, der die Sitzung gestartet hat. Wenn Sie z. B. eine Verbindung mit SQL Server mithilfe von Login1 herstellen und eine Anweisung mithilfe von Login2 ausführen, zeigt SessionLoginName Login1 an, und LoginName zeigt Login2 an. In dieser Spalte werden sowohl der SQL Server- als auch der Windows-Anmeldename angezeigt. |
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:
|
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 |
ID der Sitzung, bei 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 |
ObjectType |
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 |
Spalten-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 erfasst 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 |
Die Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. |
51 |
Nein |
SessionLoginName |
nvarchar |
Der Anmeldename des Benutzers, der die Sitzung gestartet hat. Wenn Sie z. B. eine Verbindung mit SQL Server mithilfe von Login1 herstellen und eine Anweisung mithilfe von Login2 ausführen, zeigt SessionLoginName Login1 an, und LoginName zeigt Login2 an. In dieser Spalte werden sowohl der SQL Server- als auch der Windows-Anmeldename angezeigt. |
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:
|
21 |
Ja |
IntegerData2 |
int |
Ende der Anweisung im Batch. -1 für das Ende des Batches. |
55 |
Ja |
ObjectID |
int |
N/V |
22 |
Ja |
Offset |
int |
Startoffset der Anweisung im Batch. 0 für den Anfang des Batches. |
61 |
Ja |
SPID |
int |
ID der Sitzung, bei 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 XML-Plan des Batchs 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 |
Spalten-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 erfasst 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 |
Die Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. |
51 |
Nein |
SessionLoginName |
nvarchar |
Der Anmeldename des Benutzers, der die Sitzung gestartet hat. Wenn Sie z. B. eine Verbindung mit SQL Server mithilfe von Login1 herstellen und eine Anweisung mithilfe von Login2 ausführen, zeigt SessionLoginName Login1 an, und LoginName zeigt Login2 an. In dieser Spalte werden sowohl der SQL Server- als auch der Windows-Anmeldename angezeigt. |
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:
Für gespeicherte Prozeduren mit n Abfragen:
|
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 |
ID der Sitzung, bei der das Ereignis aufgetreten ist. |
12 |
Ja |
SqlHandle |
image |
SQL-Handle, das zum Abrufen der gespeicherten Prozedur oder des SQL-Texts für den Batch 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 |
Spalten-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 |
Die Sequenz eines bestimmten Ereignisses innerhalb der Anforderung. |
51 |
Nein |
SessionLoginName |
nvarchar |
Der Anmeldename des Benutzers, der die Sitzung gestartet hat. Wenn Sie z. B. eine Verbindung mit SQL Server mithilfe von Login1 herstellen und eine Anweisung mithilfe von Login2 ausführen, zeigt SessionLoginName Login1 an, und LoginName zeigt Login2 an. In dieser Spalte werden sowohl der SQL Server- als auch der Windows-Anmeldename angezeigt. |
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. Diese ist identisch mit der Spalte object_id 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 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 |
Spalten-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 z. B. eine Verbindung mit SQL Server mithilfe von Login1 herstellen und eine Anweisung mithilfe von Login2 ausführen, zeigt SessionLoginName Login1 an, und LoginName zeigt Login2 an. In dieser Spalte werden sowohl der SQL Server- als auch der Windows-Anmeldename angezeigt. |
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. Diese ist identisch mit der Spalte object_id in sys.triggers/sys.server_triggers-Katalogsichten. |
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 |
Siehe auch
Verweis
sp_trace_setevent (Transact-SQL)
Showplan XML for Query Compile (Ereignisklasse)
Dynamische Verwaltungssichten und Funktionen (Transact-SQL)