Freigeben über


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:

  • 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, 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:

  • 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

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:

  • n vom Typ 2

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:

  • 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

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)

Konzepte

Erweiterte Ereignisse