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

Name der Datenspalte

Datentyp

Beschreibung

Spalten-ID

Filterbar

BigintData1

bigint

NULL

52

Ja

BinaryData

image

NULL

2

Ja

DatabaseID

int

ID der Datenbank, die in der USE database-Anweisung angegeben wurde, bzw. ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database-Anweisung ausgegeben wurde. In SQL Server Profiler wird der Name der Datenbank angezeigt, 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

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 geöffnet 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

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

Der Zeitpunkt, zu dem das Ereignis begonnen hat (sofern zutreffend).

14

Ja

TextData

ntext

SQL-Text des Batches.

1

Ja

EventSubClass 1

Name der Datenspalte

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

ID der Datenbank, die in der USE database-Anweisung angegeben wurde, bzw. ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database-Anweisung ausgegeben wurde. In SQL Server Profiler wird der Name der Datenbank angezeigt, 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 geöffnet 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-Anmeldenamen als auch den Windows-Anmeldenamen an.

64

Ja

EventSubClass

int

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

Startoffset der Anweisung in der gespeicherten Prozedur oder dem 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

Der Zeitpunkt, zu dem das Ereignis begonnen hat (sofern zutreffend).

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 Planes (in KB).

25

Ja

EventSubClass 2

Name der Datenspalte

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

ID der Datenbank, die in der USE database-Anweisung angegeben wurde, bzw. ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database-Anweisung ausgegeben wurde. In SQL Server Profiler wird der Name der Datenbank angezeigt, 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 geöffnet 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-Anmeldenamen als auch den Windows-Anmeldenamen an.

64

Ja

EventSubClass

int

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

Der Zeitpunkt, zu dem das Ereignis begonnen hat (sofern zutreffend).

14

Ja

TextData

ntext

NULL

1

Ja

PlanHandle

image

Das Planhandle des kompilierten Planes 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 Planes (in KB).

25

Ja

EventSubClass 3

Name der Datenspalte

Datentyp

Beschreibung

Spalten-ID

Filterbar

BigintData1

bigint

Die Gesamtanzahl der Neukompilierungen dieses Plans.

52

Ja

BinaryData

image

NULL

2

Ja

DatabaseID

int

ID der Datenbank, die in der USE database-Anweisung angegeben wurde, bzw. ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database-Anweisung ausgegeben wurde. In SQL Server Profiler wird der Name der Datenbank angezeigt, 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 geöffnet 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-Anmeldenamen als auch den Windows-Anmeldenamen an.

64

Ja

EventSubClass

int

Typ der Ereignisunterklasse

3 = Eine zwischengespeicherte Abfrage wurde gelöscht, und die Leistungsverlaufsdaten dieses Planes 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

Startoffset der Anweisung in der gespeicherten Prozedur oder dem 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 des SQL-Texts der gespeicherten Prozedur oder des Batchs mithilfe der dynamischen Verwaltungssicht dm_exec_sql_text verwendet werden kann.

63

Ja

StartTime

datetime

Der Zeitpunkt, zu dem das Ereignis begonnen hat (sofern zutreffend).

14

Ja

TextData

ntext

QueryExecutionStats

1

Ja

PlanHandle

image

Das Planhandle des kompilierten Planes 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

Name der Datenspalte

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

Sequenz eines bestimmten Ereignisses innerhalb der Anforderung.

51

Nein

SessionLoginName

nvarchar

Der Anmeldename des Benutzers, der die Sitzung geöffnet 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-Anmeldenamen als auch den Windows-Anmeldenamen an.

64

Ja

EventSubClass

int

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

ID der Sitzung, bei 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

Der Zeitpunkt, zu dem das Ereignis begonnen hat (sofern zutreffend).

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

Name der Datenspalte

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 geöffnet 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-Anmeldenamen als auch den Windows-Anmeldenamen an.

64

Ja

EventSubClass

int

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

ID der Sitzung, bei 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

Der Zeitpunkt, zu dem das Ereignis begonnen hat (sofern zutreffend).

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