MSDN Library
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

Performance Statistics-Ereignisklasse

 

Betrifft: SQL Server 2016

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.

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

DatenspaltennameDatentypBeschreibungColumn IDFilterbar
BigintData1bigintNULL52ja
BinaryDataimageNULL2ja
DatabaseIDintDie 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.3ja
EventSequenceintSequenz eines bestimmten Ereignisses innerhalb der Anforderung.51Nein
EventSubClassintDer 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
21ja
IntegerData2intNULL55Ja
ObjectIDintNULL22ja
OffsetintNULL61ja
PlanHandleBildNULL65ja
SessionLoginNamenvarcharDer 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.64Ja
SPIDintDie ID der Sitzung, in der das Ereignis aufgetreten ist.12ja
SqlHandleimageSQL-Handle, das zum Abrufen des SQL-Texts des Batchs mithilfe der dynamischen Verwaltungssicht sys.dm_exec_sql_text verwendet werden kann.63ja
StartTimedatetimeZeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden).14ja
TextDatantextSQL-Text des Batches.1Ja

EventSubClass 1

DatenspaltennameDatentypBeschreibungColumn IDFilterbar
BigintData1bigintDie Gesamtanzahl der Neukompilierungen dieses Plans.52ja
BinaryDataimageBinary XML des kompilierten Plans.2ja
DatabaseIDintDie 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.3ja
EventSequenceintSequenz eines bestimmten Ereignisses innerhalb der Anforderung.51Nein
SessionLoginNamenvarcharDer 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.64ja
EventSubClassintDer 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
21ja
IntegerData2intEnde der Anweisung in der gespeicherten Prozedur.

-1 für das Ende der gespeicherten Prozedur.
55Ja
ObjectIDintVom System zugewiesene ID des Objekts.22ja
OffsetintDer Startoffset der Anweisung in der gespeicherten Prozedur oder im Batch.61ja
SPIDintDie ID der Sitzung, in der das Ereignis aufgetreten ist.12ja
SqlHandleimageSQL-Handle, das zum Abrufen des SQL-Texts der gespeicherten Prozedur mithilfe der dynamischen Verwaltungssicht dm_exec_sql_text verwendet werden kann.63ja
StartTimedatetimeZeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden).14ja
TextDatantextNULL1ja
PlanHandleimageDas 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.65ja
ObjectTypeintEin Wert, der den Typ des am Ereignis beteiligten Objekts darstellt.

8272 = gespeicherte Prozedur
28ja
BigintData2bigintFür die Kompilierung verwendeter Arbeitsspeicher insgesamt (in KB).53ja
CPUintDie CPU-Gesamtzeit in Millisekunden, die für die Kompilierung erforderlich war.18ja
DauerintGesamtzeit für die Kompilierung in Mikrosekunden.13ja
IntegerDataintDie Größe des kompilierten Plans (in KB).25ja

EventSubClass 2

DatenspaltennameDatentypBeschreibungColumn IDFilterbar
BigintData1bigintDie Gesamtanzahl der Neukompilierungen dieses Plans.52ja
BinaryDataimageBinary XML des kompilierten Plans.2ja
DatabaseIDintDie 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.3ja
EventSequenceintSequenz eines bestimmten Ereignisses innerhalb der Anforderung.51Nein
SessionLoginNamenvarcharDer 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.64ja
EventSubClassintDer 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
21ja
IntegerData2intEnde der Anweisung im Batch.

-1 für das Ende des Batches.
55Ja
ObjectIDint22ja
OffsetintStartoffset der Anweisung im Batch.

0 für den Anfang des Batches.
61ja
SPIDintDie ID der Sitzung, in der das Ereignis aufgetreten ist.12ja
SqlHandleimageSQL-Handle Hiermit kann der SQL-Text des Batchs abgerufen werden, indem die dynamische Verwaltungssicht dm_exec_sql_text verwendet wird.63ja
StartTimedatetimeZeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden).14ja
TextDatantextNULL1ja
PlanHandleimageDas 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.65ja
BigintData2bigintFür die Kompilierung verwendeter Arbeitsspeicher insgesamt (in KB).53ja
CPUintDie CPU-Gesamtzeit in Mikrosekunden, die für die Kompilierung erforderlich war.18ja
DauerintGesamtzeit für die Kompilierung in Millisekunden.13ja
IntegerDataintDie Größe des kompilierten Plans (in KB).25ja

EventSubClass 3

DatenspaltennameDatentypBeschreibungColumn IDFilterbar
BigintData1bigintDie Gesamtanzahl der Neukompilierungen dieses Plans.52ja
BinaryDataimageNULL2ja
DatabaseIDintDie 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.3ja
EventSequenceintSequenz eines bestimmten Ereignisses innerhalb der Anforderung.51Nein
SessionLoginNamenvarcharDer 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.64ja
EventSubClassintDer 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.
21ja
IntegerData2intEnde der Anweisung in der gespeicherten Prozedur oder dem Batch.

-1 für das Ende der gespeicherten Prozedur oder des Batches.
55Ja
ObjectIDintNULL22ja
OffsetintDer Startoffset der Anweisung in der gespeicherten Prozedur oder im Batch.

0 für den Anfang der gespeicherten Prozedur oder des Batches.
61ja
SPIDintDie ID der Sitzung, in der das Ereignis aufgetreten ist.12ja
SqlHandleimageSQL-Handle, das zum Abrufen des SQL-Texts der gespeicherten Prozedur oder des Batchs mithilfe der dynamischen Verwaltungssicht dm_exec_sql_text verwendet werden kann.63ja
StartTimedatetimeZeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden).14ja
TextDatantextQueryExecutionStats1ja
PlanHandleimageDas 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.65ja
GroupIDintID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird.66Ja

EventSubClass 4

DatenspaltennameDatentypBeschreibungColumn IDFilterbar
BigintData1bigintNULL52ja
BinaryDataimageNULL2ja
DatabaseIDintID der Datenbank, in der sich die angegebene gespeicherte Prozedur befindet.3ja
EventSequenceintSequenz eines bestimmten Ereignisses innerhalb der Anforderung.51Nein
SessionLoginNamenvarcharDer 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.64ja
EventSubClassintDer Typ der Ereignisunterklasse.

4 = Eine zwischengespeicherte gespeicherte Prozedur wurde aus dem Cache gelöscht, und die verknüpften Leistungsverlaufsdaten werden nun gelöscht.
21ja
IntegerData2intNULL55Ja
ObjectIDintID der gespeicherten Prozedur. Entspricht der object_id-Spalte in sys.procedures.22ja
OffsetintNULL61ja
SPIDintDie ID der Sitzung, in der das Ereignis aufgetreten ist.12ja
SqlHandleimageSQL-Handle, das zum Abrufen des SQL-Texts der ausgeführten gespeicherten Prozedur mithilfe der dynamischen Verwaltungssicht dm_exec_sql_text verwendet werden kann.63ja
StartTimedatetimeZeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden).14ja
TextDatantextProcedureExecutionStats1ja
PlanHandleimageDas 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.65ja
GroupIDintID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird.66ja

EventSubClass 5

DatenspaltennameDatentypBeschreibungColumn IDFilterbar
BigintData1bigintNULL52ja
BinaryDataimageNULL2ja
DatabaseIDintID der Datenbank, in der sich der angegebene Trigger befindet.3ja
EventSequenceintSequenz eines bestimmten Ereignisses innerhalb der Anforderung.51Nein
SessionLoginNamenvarcharDer 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.64ja
EventSubClassintDer Typ der Ereignisunterklasse.

5 = Ein zwischengespeicherter Trigger wurde aus dem Cache gelöscht, und die verknüpften Leistungsverlaufsdaten werden nun gelöscht.
21ja
IntegerData2intNULL55Ja
ObjectIDintID des Triggers. Entspricht der object_id-Spalte in den Katalogsichten sys.triggers und sys.server_triggers.22ja
OffsetintNULL61ja
SPIDintDie ID der Sitzung, in der das Ereignis aufgetreten ist.12ja
SqlHandleimageSQL-Handle, das zum Abrufen des SQL-Texts des Triggers mithilfe der dynamischen Verwaltungssicht dm_exec_sql_text verwendet werden kann.63ja
StartTimedatetimeZeitpunkt, zu dem das Ereignis begonnen hat (falls vorhanden).14ja
TextDatantextTriggerExecutionStats1ja
PlanHandleimageDas 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.65ja
GroupIDintID der Arbeitsauslastungsgruppe, in der das SQL-Ablaufverfolgungsereignis ausgelöst wird.66ja

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

Community-Beiträge

Anzeigen:
© 2016 Microsoft