Udostępnij za pomocą


Klasa zdarzeń dla statystyk wydajności

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Klasa zdarzeń Performance Statistics może być używana do monitorowania wydajności zapytań, procedur przechowywanych i wyzwalaczy, które są wykonywane. Każda z sześciu podklas zdarzeń wskazuje na zdarzenie w czasie życia zapytań, procedur przechowywanych i wyzwalaczy w systemie. Korzystając z połączenia tych podklas zdarzeń oraz powiązanych widoków zarządzania sys.dm_exec_query_stats, sys.dm_exec_procedure_stats i sys.dm_exec_trigger_stats, można odtworzyć historię wydajności dowolnego zapytania, procedury przechowywanej lub wyzwalacza.

Kolumny danych o klasie zdarzeń Statystyki wydajności

Poniższe tabele opisują kolumny danych klasy zdarzenia powiązane z każdą z następujących podklas zdarzeń: EventSubClass 0, EventSubClass 1, EventSubClass 2, EventSubClass 3, EventSubClass 4 oraz EventSubClass 5.

WydarzenieSubKlasa 0

Nazwa kolumny danych Typ danych Description Identyfikator kolumny Filtrowanie
BigintData1 bigint ZERO 52 Tak
BinaryData image ZERO 2 Tak
DatabaseID int Identyfikator bazy danych określony przez polecenie bazy USE lub domyślnej bazy danych, jeśli dla danego przypadku nie wydano żadnego polecenia bazy USE. Program SQL Server Profiler wyświetla nazwę bazy danych, jeśli kolumna danych ServerName zostanie przechwycona w śladzie, a serwer jest dostępny. Określ wartość bazy danych przy użyciu funkcji DB_ID. 3 Tak
Sekwencja zdarzeń int Sekwencja danego zdarzenia w żądaniu. 51 Nie.
EventSubClass int Typ podklasy zdarzenia.

0 = Nowy tekst wsadowy SQL, który nie jest obecnie obecny w pamięci podręcznej.

Następujące typy EventSubClass są generowane w śladzie dla ad hoc partii.

Dla ad hoc partii z n liczbą zapytań:

1 typu 0
dwadzieścia jeden Tak
IntegerData2 int ZERO 55 Tak
Identyfikator obiektu int ZERO 22 Tak
Przesunięcie int ZERO 61 Tak
PlanHandle Obraz ZERO 65 Tak
SessionLoginName nvarchar Nazwa logowania użytkownika, który utworzył sesję. Na przykład, jeśli połączysz się z SQL Server za pomocą Login1 i wykonasz polecenie jako Login2, SessionLoginName pokazuje Login1, a LoginName pokazuje Login2. W tej kolumnie są wyświetlane zarówno identyfikatory logowania programu SQL Server, jak i systemu Windows. 64 Tak
SPID int Identyfikator sesji, w której wystąpiło zdarzenie. 12 Tak
SqlHandle image Uchwyt SQL, który może być użyty do uzyskania tekstu wsadowego SQL za pomocą widoku zarządzania dynamicznego sys.dm_exec_sql_text. 63 Tak
StartTime datetime Godzina rozpoczęcia zdarzenia, jeśli jest dostępna. 14 Tak
DaneTekstowe ntext Tekst SQL partii. 1 Tak

WydarzenieSubKlasa 1

Nazwa kolumny danych Typ danych Description Identyfikator kolumny Filtrowanie
BigintData1 bigint Łączna liczba razy, kiedy ten plan był ponownie kompilowany. 52 Tak
BinaryData image Binarny XML skompilowanego planu. 2 Tak
DatabaseID int Identyfikator bazy danych określony przez polecenie bazy USE lub domyślnej bazy danych, jeśli dla danego przypadku nie wydano żadnego polecenia bazy USE. Program SQL Server Profiler wyświetla nazwę bazy danych, jeśli kolumna danych ServerName zostanie przechwycona w śladzie, a serwer jest dostępny. Określ wartość bazy danych przy użyciu funkcji DB_ID. 3 Tak
Sekwencja zdarzeń int Sekwencja danego zdarzenia w żądaniu. 51 Nie.
SessionLoginName nvarchar Nazwa logowania użytkownika, który utworzył sesję. Na przykład, jeśli połączysz się z SQL Server za pomocą Login1 i wykonasz polecenie jako Login2, SessionLoginName pokazuje Login1, a LoginName pokazuje Login2. W tej kolumnie są wyświetlane zarówno identyfikatory logowania programu SQL Server, jak i systemu Windows. 64 Tak
EventSubClass int Typ podklasy zdarzenia.

1 = Zapytania w ramach procedury przechowywanej zostały skompilowane.

Następujące typy EventSubClass są generowane w ścieżce dla procedur przechowywanych.

Dla procedur przechowywanych z n liczbą zapytań:

n liczba typu 1
dwadzieścia jeden Tak
IntegerData2 int Koniec oświadczenia w procedurze zapisanej.

-1 na koniec procedury przechowywanej.
55 Tak
Identyfikator obiektu int Identyfikator przypisany przez system obiektu. 22 Tak
Przesunięcie int Rozpoczynanie offsetu zdania w procedurze przechowywanej lub partii. 61 Tak
SPID int Identyfikator sesji, w której wystąpiło zdarzenie. 12 Tak
SqlHandle image Uchwyt SQL, który może być użyty do uzyskania tekstu SQL procedury przechowywanej za pomocą widoku zarządzania dynamicznego dm_exec_sql_text. 63 Tak
StartTime datetime Godzina rozpoczęcia zdarzenia, jeśli jest dostępna. 14 Tak
DaneTekstowe ntext ZERO 1 Tak
PlanHandle image Uchwyt planu skompilowanego dla procedury przechowywanej. Można to wykorzystać do uzyskania planu XML za pomocą dynamicznego widoku zarządzania sys.dm_exec_query_plan. 65 Tak
TypObiektu int Wartość reprezentująca typ obiektu zaangażowanego w zdarzenie.

8272 = procedura przechowywana
28 Tak
BigintData2 bigint Całkowita pamięć w kilobajtach wykorzystywana podczas kompilacji. 53 Tak
CPU int Całkowity czas CPU, w milisekundach, poświęcony podczas kompilacji. 18 Tak
Czas trwania int Całkowity czas, w mikrosekundach, poświęcony na kompilację. 13 Tak
IntegerData int Rozmiar skompilowanego planu w kilobajtach. 25 Tak

WydarzenieSubKlasa 2

Nazwa kolumny danych Typ danych Description Identyfikator kolumny Filtrowanie
BigintData1 bigint Łączna liczba razy, kiedy ten plan był ponownie kompilowany. 52 Tak
BinaryData image Binarny XML skompilowanego planu. 2 Tak
DatabaseID int Identyfikator bazy danych określony przez polecenie bazy USE lub domyślnej bazy danych, jeśli dla danego przypadku nie wydano żadnego polecenia bazy USE. Program SQL Server Profiler wyświetla nazwę bazy danych, jeśli kolumna danych ServerName zostanie przechwycona w śladzie, a serwer jest dostępny. Określ wartość bazy danych przy użyciu funkcji DB_ID. 3 Tak
Sekwencja zdarzeń int Sekwencja danego zdarzenia w żądaniu. 51 Nie.
SessionLoginName nvarchar Nazwa logowania użytkownika, który utworzył sesję. Na przykład, jeśli połączysz się z SQL Server za pomocą Login1 i wykonasz polecenie jako Login2, SessionLoginName pokazuje Login1, a LoginName pokazuje Login2. W tej kolumnie są wyświetlane zarówno identyfikatory logowania programu SQL Server, jak i systemu Windows. 64 Tak
EventSubClass int Typ podklasy zdarzenia.

2 = Zapytania w ramach ad hoc instrukcji SQL zostały skompilowane.

Następujące typy EventSubClass są generowane w śladzie dla ad hoc partii.

Dla ad hoc partii z n liczbą zapytań:

n liczby typu 2
dwadzieścia jeden Tak
IntegerData2 int Koniec oświadczenia w ramach partii.

-1 na koniec partii.
55 Tak
Identyfikator obiektu int N/A 22 Tak
Przesunięcie int Zaczynam od przesunięcia oświadczenia w ramach partii.

0 na początku partii.
61 Tak
SPID int Identyfikator sesji, w której wystąpiło zdarzenie. 12 Tak
SqlHandle image Adres SQL. Może to być użyte do uzyskania tekstu wsadowego SQL za pomocą widoku zarządzania dynamicznego dm_exec_sql_text. 63 Tak
StartTime datetime Godzina rozpoczęcia zdarzenia, jeśli jest dostępna. 14 Tak
DaneTekstowe ntext ZERO 1 Tak
PlanHandle image Uchwyt planu skompilowanego dla partii. Można to wykorzystać do uzyskania planu XML wsadowego za pomocą widoku zarządzania dynamicznego dm_exec_query_plan. 65 Tak
BigintData2 bigint Całkowita pamięć w kilobajtach wykorzystywana podczas kompilacji. 53 Tak
CPU int Całkowity czas CPU, wyliczany w mikrosekundach, podczas kompilacji. 18 Tak
Czas trwania int Całkowity czas, w milisekundach, spędzony podczas kompilacji. 13 Tak
IntegerData int Rozmiar skompilowanego planu w kilobajtach. 25 Tak

WydarzenieSubKlasa 3

Nazwa kolumny danych Typ danych Description Identyfikator kolumny Filtrowanie
BigintData1 bigint Łączna liczba razy, kiedy ten plan był ponownie kompilowany. 52 Tak
BinaryData image ZERO 2 Tak
DatabaseID int Identyfikator bazy danych określony przez polecenie bazy USE lub domyślnej bazy danych, jeśli dla danego przypadku nie wydano żadnego polecenia bazy USE. Program SQL Server Profiler wyświetla nazwę bazy danych, jeśli kolumna danych ServerName zostanie przechwycona w śladzie, a serwer jest dostępny. Określ wartość bazy danych przy użyciu funkcji DB_ID. 3 Tak
Sekwencja zdarzeń int Sekwencja danego zdarzenia w żądaniu. 51 Nie.
SessionLoginName nvarchar Nazwa logowania użytkownika, który utworzył sesję. Na przykład, jeśli połączysz się z SQL Server za pomocą Login1 i wykonasz polecenie jako Login2, SessionLoginName pokazuje Login1, a LoginName pokazuje Login2. W tej kolumnie są wyświetlane zarówno identyfikatory logowania programu SQL Server, jak i systemu Windows. 64 Tak
EventSubClass int Typ podklasy zdarzenia.

3 = Zapytanie w pamięci podręcznej zostało zniszczone, a historyczne dane dotyczące wydajności związane z planem są bliskie zniszczenia.

W śladzie generowane są następujące typy EventSubClass.

Dla ad hoc partii z n liczbą zapytań:

1 typu 3, gdy zapytanie jest usuwane z pamięci podręcznej

Dla procedur przechowywanych z n liczbą zapytań:

1 typu 3, gdy zapytanie jest usuwane z pamięci podręcznej.
dwadzieścia jeden Tak
IntegerData2 int Koniec oświadczenia w ramach procedury lub partii.

-1 oznacza zakończenie procedury lub partii.
55 Tak
Identyfikator obiektu int ZERO 22 Tak
Przesunięcie int Rozpoczynanie offsetu zdania w procedurze przechowywanej lub partii.

0 oznacza początek procedury lub partii przechowywanej.
61 Tak
SPID int Identyfikator sesji, w której wystąpiło zdarzenie. 12 Tak
SqlHandle image Uchwyt SQL, który może być użyty do uzyskania procedury przechowywanej lub tekstu SQL wsadowego za pomocą widoku zarządzania dynamicznego dm_exec_sql_text. 63 Tak
StartTime datetime Godzina rozpoczęcia zdarzenia, jeśli jest dostępna. 14 Tak
DaneTekstowe ntext QueryExecutionStats 1 Tak
PlanHandle image Uchwyt planu skompilowanego dla procedury lub partii przechowywanej. Można to wykorzystać do uzyskania planu XML za pomocą dynamicznego widoku zarządzania dm_exec_query_plan. 65 Tak
GroupID int Identyfikator grupy obciążenia, w której jest uruchamiane zdarzenie śledzenia SQL. 66 Tak

WydarzenieSubKlasa 4

Nazwa kolumny danych Typ danych Description Identyfikator kolumny Filtrowanie
BigintData1 bigint ZERO 52 Tak
BinaryData image ZERO 2 Tak
DatabaseID int ID bazy danych, w której znajduje się dana procedura przechowywana. 3 Tak
Sekwencja zdarzeń int Sekwencja danego zdarzenia w żądaniu. 51 Nie.
SessionLoginName nvarchar Nazwa logowania użytkownika, który utworzył sesję. Na przykład, jeśli połączysz się z SQL Server za pomocą Login1 i wykonasz polecenie jako Login2, SessionLoginName pokazuje Login1, a LoginName pokazuje Login2. W tej kolumnie są wyświetlane zarówno identyfikatory logowania programu SQL Server, jak i systemu Windows. 64 Tak
EventSubClass int Typ podklasy zdarzenia.

4 = Procedura przechowywana w pamięci podręcznej została usunięta z pamięci podręcznej, a historyczne dane wydajności z nią związane są bliskie zniszczenia.
dwadzieścia jeden Tak
IntegerData2 int ZERO 55 Tak
Identyfikator obiektu int ID procedury przechowywanej. Jest to takie samo jak kolumna object_id w sys.procedures. 22 Tak
Przesunięcie int ZERO 61 Tak
SPID int Identyfikator sesji, w której wystąpiło zdarzenie. 12 Tak
SqlHandle image Uchwyt SQL, który może być używany do uzyskania tekstu SQL procedury przechowywanej wykonywanej za pomocą widoku zarządzania dynamicznego dm_exec_sql_text. 63 Tak
StartTime datetime Godzina rozpoczęcia zdarzenia, jeśli jest dostępna. 14 Tak
DaneTekstowe ntext Statystyki wykonania procedur 1 Tak
PlanHandle image Uchwyt planu skompilowanego dla procedury przechowywanej. Można to wykorzystać do uzyskania planu XML za pomocą dynamicznego widoku zarządzania dm_exec_query_plan. 65 Tak
GroupID int Identyfikator grupy obciążenia, w której jest uruchamiane zdarzenie śledzenia SQL. 66 Tak

WydarzenieSubKlasa 5

Nazwa kolumny danych Typ danych Description Identyfikator kolumny Filtrowanie
BigintData1 bigint ZERO 52 Tak
BinaryData image ZERO 2 Tak
DatabaseID int ID bazy danych, w której znajduje się dany wyzwalacz. 3 Tak
Sekwencja zdarzeń int Sekwencja danego zdarzenia w żądaniu. 51 Nie.
SessionLoginName nvarchar Nazwa logowania użytkownika, który utworzył sesję. Na przykład, jeśli połączysz się z SQL Server za pomocą Login1 i wykonasz polecenie jako Login2, SessionLoginName pokazuje Login1, a LoginName pokazuje Login2. W tej kolumnie są wyświetlane zarówno identyfikatory logowania programu SQL Server, jak i systemu Windows. 64 Tak
EventSubClass int Typ podklasy zdarzenia.

5 = Z pamięci podręcznej usunięto buforowany wyzwalacz, a historyczne dane wydajnościowe z nim związane są bliskie zniszczenia.
dwadzieścia jeden Tak
IntegerData2 int ZERO 55 Tak
Identyfikator obiektu int Identyfikator wyzwalacza. Jest to takie samo jak kolumna object_id w sys.triggers/sys.server_triggers catalog views. 22 Tak
Przesunięcie int ZERO 61 Tak
SPID int Identyfikator sesji, w której wystąpiło zdarzenie. 12 Tak
SqlHandle image Uchwyt SQL, który może być użyty do uzyskania tekstu SQL wyzwalacza za pomocą widoku zarządzania dynamicznego dm_exec_sql_text. 63 Tak
StartTime datetime Godzina rozpoczęcia zdarzenia, jeśli jest dostępna. 14 Tak
DaneTekstowe ntext TriggerExecutionStats 1 Tak
PlanHandle image Uchwyt planu skompilowanego planu wyzwalającego. Można to wykorzystać do uzyskania planu XML za pomocą dynamicznego widoku zarządzania dm_exec_query_plan. 65 Tak
GroupID int Identyfikator grupy obciążenia, w której jest uruchamiane zdarzenie śledzenia SQL. 66 Tak

Zobacz też

Zdarzenia rozszerzone
sp_trace_setevent (Transact-SQL)
Showplan XML dla klasy Query Compile Event
Dynamiczne widoki zarządzania i funkcje (Transact-SQL)