Класс событий Performance Statistics
Класс событий Performance Statistics можно использовать для наблюдения за производительностью выполняемых запросов, хранимых процедур и триггеров. Каждый из шести подклассов событий обозначает событие, относящееся ко времени существования запросов, хранимых процедур и триггеров в системе. Сочетая эти подклассы событий и связанные с ними динамические административные представления sys.dm_exec_query_stats, sys.dm_exec_procedure_stats и sys.dm_exec_trigger_stats, можно восстановить журнал производительности любого заданного запроса, хранимой процедуры или триггера.
Столбцы данных класса событий Performance Statistics
Следующие таблицы описывают столбцы данных класса событий, связанные с каждым из следующих подклассов событий: EventSubClass 0, EventSubClass 1,EventSubClass 2,EventSubClass 3, EventSubClass 4 и EventSubClass 5.
EventSubClass 0
Имя столбца данных |
Тип данных |
Описание |
Идентификатор столбца |
Фильтруемый |
---|---|---|---|---|
BigintData1 |
bigint |
NULL |
52 |
Да |
BinaryData |
image |
NULL |
2 |
Да |
DatabaseID |
int |
Идентификатор базы данных, указанной в инструкции USE database, или базы данных по умолчанию, если для данного экземпляра инструкция USE database не выполнялась. Приложение SQL Server Profiler отображает имя базы данных, если столбец данных ServerName захвачен при трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. |
3 |
Да |
EventSequence |
int |
Порядковый номер данного события в запросе. |
51 |
Нет |
EventSubClass |
int |
Тип подкласса события. 0 = Новый текст пакета SQL, который пока отсутствует в кэше. Следующие типы EventSubClass создаются в трассировке для нерегламентированных пакетов. Для нерегламентированных пакетов, состоящих из n запросов.
|
21 |
Да |
IntegerData2 |
int |
NULL |
55 |
Да |
ObjectID |
int |
NULL |
22 |
Да |
Offset |
int |
NULL |
61 |
Да |
PlanHandle |
Image |
NULL |
65 |
Да |
SessionLoginName |
nvarchar |
Имя входа пользователя, создавшего этот сеанс. Например, если подключиться к SQL Server под именем Имя_входа1 и выполнить инструкцию как пользователь с именем Имя_входа2, в столбце SessionLoginName выводится значение Имя_входа1, а в столбце LoginName — значение Имя_входа2. В этом столбце отображаются как имена входа SQL Server, так и имена входа Windows. |
64 |
Да |
SPID |
int |
Идентификатор сеанса, в котором произошло событие. |
12 |
Да |
SqlHandle |
image |
Дескриптор SQL может быть использован для получения текста пакета SQL из динамического административного представления sys.dm_exec_sql_text. |
63 |
Да |
StartTime |
datetime |
Время начала события, если оно известно. |
14 |
Да |
TextData |
ntext |
Текст пакета SQL. |
1 |
Да |
EventSubClass 1
Имя столбца данных |
Тип данных |
Описание |
Идентификатор столбца |
Фильтруемый |
---|---|---|---|---|
BigintData1 |
bigint |
Совокупное количество повторных компиляций данного плана. |
52 |
Да |
BinaryData |
image |
Двоичный XML скомпилированного плана. |
2 |
Да |
DatabaseID |
int |
Идентификатор базы данных, указанной в инструкции USE database, или базы данных по умолчанию, если для данного экземпляра инструкция USE database не выполнялась. Приложение SQL Server Profiler отображает имя базы данных, если столбец данных ServerName захвачен при трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. |
3 |
Да |
EventSequence |
int |
Порядковый номер данного события в запросе. |
51 |
Нет |
SessionLoginName |
nvarchar |
Имя входа пользователя, создавшего этот сеанс. Например, если подключиться к SQL Server под именем Имя_входа1 и выполнить инструкцию как пользователь с именем Имя_входа2, в столбце SessionLoginName выводится значение Имя_входа1, а в столбце LoginName — значение Имя_входа2. В этом столбце отображаются как имена входа SQL Server, так и имена входа Windows. |
64 |
Да |
EventSubClass |
int |
Тип подкласса событий. 1 = Скомпилированы запросы в хранимой процедуре. Следующие типы EventSubClass создаются в трассировке для хранимых процедур. Для хранимых процедур, состоящих из n запросов.
|
21 |
Да |
IntegerData2 |
int |
Конечное смещение инструкции в хранимой процедуре: -1 для конечного смещения хранимой процедуры. |
55 |
Да |
ObjectID |
int |
Идентификатор объекта, назначенный системой. |
22 |
Да |
Offset |
int |
Начальное смещение инструкции в пределах хранимой процедуры или пакета. |
61 |
Да |
SPID |
int |
Идентификатор сеанса, в котором произошло событие. |
12 |
Да |
SqlHandle |
image |
Дескриптор SQL, который можно использовать для получения SQL-текста хранимой процедуры из динамического административного представления dm_exec_sql_text. |
63 |
Да |
StartTime |
datetime |
Время начала события, если оно известно. |
14 |
Да |
TextData |
ntext |
NULL |
1 |
Да |
PlanHandle |
image |
Дескриптор скомпилированного плана для хранимой процедуры. Может использоваться для получения плана XML с помощью динамического административного представления sys.dm_exec_query_plan. |
65 |
Да |
ObjectType |
int |
Значение, представляющее тип объекта, связанного с событием. 8272 = хранимая процедура |
28 |
Да |
BigintData2 |
bigint |
Общий объем памяти в килобайтах, используемой во время компиляции. |
53 |
Да |
CPU |
int |
Общее процессорное время в миллисекундах, затраченное на компиляцию. |
18 |
Да |
Duration |
int |
Общее время в микросекундах, затраченное на компиляцию. |
13 |
Да |
IntegerData |
int |
Размер скомпилированного плана в килобайтах. |
25 |
Да |
EventSubClass 2
Имя столбца данных |
Тип данных |
Описание |
Идентификатор столбца |
Фильтруемый |
---|---|---|---|---|
BigintData1 |
bigint |
Совокупное количество повторных компиляций данного плана. |
52 |
Да |
BinaryData |
image |
Двоичный XML скомпилированного плана. |
2 |
Да |
DatabaseID |
int |
Идентификатор базы данных, указанной в инструкции USE database, или базы данных по умолчанию, если для данного экземпляра инструкция USE database не выполнялась. Приложение SQL Server Profiler отображает имя базы данных, если столбец данных ServerName захвачен при трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. |
3 |
Да |
EventSequence |
int |
Порядковый номер данного события в запросе. |
51 |
Нет |
SessionLoginName |
nvarchar |
Имя входа пользователя, создавшего этот сеанс. Например, если подключиться к SQL Server под именем Имя_входа1 и выполнить инструкцию как пользователь с именем Имя_входа2, в столбце SessionLoginName выводится значение Имя_входа1, а в столбце LoginName — значение Имя_входа2. В этом столбце отображаются как имена входа SQL Server, так и имена входа Windows. |
64 |
Да |
EventSubClass |
int |
Тип подкласса событий. 2 = Скомпилированы запросы в нерегламентированной инструкции SQL. Следующие типы EventSubClass создаются в трассировке для нерегламентированных пакетов. Для нерегламентированных пакетов, состоящих из n запросов.
|
21 |
Да |
IntegerData2 |
int |
Конечное смещение инструкции в пакете: -1 для конечного смещения пакета. |
55 |
Да |
ObjectID |
int |
Недоступно |
22 |
Да |
Offset |
int |
Начальное смещение инструкции в пределах пакета. 0 для начального смещения пакета. |
61 |
Да |
SPID |
int |
Идентификатор сеанса, в котором произошло событие. |
12 |
Да |
SqlHandle |
image |
Дескриптор SQL. Может быть использован для получения текста SQL пакета с помощью динамического административного представления dm_exec_sql_text . |
63 |
Да |
StartTime |
datetime |
Время начала события, если оно известно. |
14 |
Да |
TextData |
ntext |
NULL |
1 |
Да |
PlanHandle |
image |
Дескриптор скомпилированного плана для пакета. Может использоваться для получения плана XML-пакета с помощью динамического административного представления dm_exec_query_plan. |
65 |
Да |
BigintData2 |
bigint |
Общий объем памяти в килобайтах, используемой во время компиляции. |
53 |
Да |
CPU |
int |
Общее время ЦП в микросекундах, затраченное на компиляцию. |
18 |
Да |
Duration |
int |
Общее время в миллисекундах, затраченное на компиляцию. |
13 |
Да |
IntegerData |
int |
Размер скомпилированного плана в килобайтах. |
25 |
Да |
EventSubClass 3
Имя столбца данных |
Тип данных |
Описание |
Идентификатор столбца |
Фильтруемый |
---|---|---|---|---|
BigintData1 |
bigint |
Совокупное количество повторных компиляций данного плана. |
52 |
Да |
BinaryData |
image |
NULL |
2 |
Да |
DatabaseID |
int |
Идентификатор базы данных, указанной в инструкции USE database, или базы данных по умолчанию, если для данного экземпляра инструкция USE database не выполнялась. Приложение SQL Server Profiler отображает имя базы данных, если столбец данных ServerName захвачен при трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. |
3 |
Да |
EventSequence |
int |
Порядковый номер данного события в запросе. |
51 |
Нет |
SessionLoginName |
nvarchar |
Имя входа пользователя, создавшего этот сеанс. Например, если подключиться к SQL Server под именем Имя_входа1 и выполнить инструкцию как пользователь с именем Имя_входа2, в столбце SessionLoginName выводится значение Имя_входа1, а в столбце LoginName — значение Имя_входа2. В этом столбце отображаются как имена входа SQL Server, так и имена входа Windows. |
64 |
Да |
EventSubClass |
int |
Тип подкласса событий. 3 = Запрос удален из кэша, и данные предыстории производительности этого плана тоже будут уничтожены. Следующие типы EventSubClass формируются при трассировке. Для нерегламентированных пакетов, состоящих из n запросов.
Для хранимых процедур, состоящих из n запросов.
|
21 |
Да |
IntegerData2 |
int |
Конечное смещение инструкции в хранимой процедуре или пакете: -1 для конечного смещения хранимой процедуры или пакета. |
55 |
Да |
ObjectID |
int |
NULL |
22 |
Да |
Offset |
int |
Начальное смещение инструкции в пределах хранимой процедуры или пакета. 0 для начального смещения хранимой процедуры или пакета. |
61 |
Да |
SPID |
int |
Идентификатор сеанса, в котором произошло событие. |
12 |
Да |
SqlHandle |
image |
Дескриптор SQL, который можно использовать для получения хранимой процедуры или текста пакета SQL из динамического административного представления dm_exec_sql_text. |
63 |
Да |
StartTime |
datetime |
Время начала события, если оно известно. |
14 |
Да |
TextData |
ntext |
QueryExecutionStats |
1 |
Да |
PlanHandle |
image |
Дескриптор скомпилированного плана для хранимой процедуры или пакета. Может использоваться для получения плана XML с помощью динамического административного представления dm_exec_query_plan. |
65 |
Да |
GroupID |
int |
Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. |
66 |
Да |
EventSubClass 4
Имя столбца данных |
Тип данных |
Описание |
Идентификатор столбца |
Фильтруемый |
---|---|---|---|---|
BigintData1 |
bigint |
NULL |
52 |
Да |
BinaryData |
image |
NULL |
2 |
Да |
DatabaseID |
int |
Идентификатор базы данных, в которой располагается заданная хранимая процедура. |
3 |
Да |
EventSequence |
int |
Порядковый номер данного события в запросе. |
51 |
Нет |
SessionLoginName |
nvarchar |
Имя входа пользователя, создавшего этот сеанс. Например, если подключиться к SQL Server под именем Имя_входа1 и выполнить инструкцию как пользователь с именем Имя_входа2, в столбце SessionLoginName выводится значение Имя_входа1, а в столбце LoginName — значение Имя_входа2. В этом столбце отображаются как имена входа SQL Server, так и имена входа Windows. |
64 |
Да |
EventSubClass |
int |
Тип подкласса событий. 4 = Кэшированная хранимая процедура удалена из кэша, и связанные с ней данные об истории производительности будут уничтожены. |
21 |
Да |
IntegerData2 |
int |
NULL |
55 |
Да |
ObjectID |
int |
Идентификатор хранимой процедуры. В object_id этот столбец всегда совпадает с sys.procedures. |
22 |
Да |
Offset |
int |
NULL |
61 |
Да |
SPID |
int |
Идентификатор сеанса, в котором произошло событие. |
12 |
Да |
SqlHandle |
image |
Дескриптор SQL, который можно использовать для получения SQL-текста хранимой процедуры, выполненной из динамического административного представления dm_exec_sql_text. |
63 |
Да |
StartTime |
datetime |
Время начала события, если оно известно. |
14 |
Да |
TextData |
ntext |
ProcedureExecutionStats |
1 |
Да |
PlanHandle |
image |
Дескриптор скомпилированного плана для хранимой процедуры. Может использоваться для получения плана XML с помощью динамического административного представления dm_exec_query_plan. |
65 |
Да |
GroupID |
int |
Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. |
66 |
Да |
EventSubClass 5
Имя столбца данных |
Тип данных |
Описание |
Идентификатор столбца |
Фильтруемый |
---|---|---|---|---|
BigintData1 |
bigint |
NULL |
52 |
Да |
BinaryData |
image |
NULL |
2 |
Да |
DatabaseID |
int |
Идентификатор базы данных, в которой располагается заданный триггер. |
3 |
Да |
EventSequence |
int |
Последовательность данного события в запросе. |
51 |
Нет |
SessionLoginName |
nvarchar |
Имя входа пользователя, создавшего этот сеанс. Например, если подключиться к SQL Server под именем Имя_входа1 и выполнить инструкцию как пользователь с именем Имя_входа2, в столбце SessionLoginName выводится значение Имя_входа1, а в столбце LoginName — значение Имя_входа2. В этом столбце отображаются как имена входа SQL Server, так и имена входа Windows. |
64 |
Да |
EventSubClass |
int |
Тип подкласса событий. 5 = Кэшированный триггер удален из кэша, и связанные с ним данные об истории производительности будут уничтожены. |
21 |
Да |
IntegerData2 |
int |
NULL |
55 |
Да |
ObjectID |
int |
Идентификатор триггера. В object_id этот столбец всегда совпадает с представлениями каталогов sys.triggers/sys.server_triggers. |
22 |
Да |
Offset |
int |
NULL |
61 |
Да |
SPID |
int |
Идентификатор сеанса, в котором произошло событие. |
12 |
Да |
SqlHandle |
image |
Дескриптор SQL, который можно использовать для получения текста SQL триггера с помощью динамического административного представления dm_exec_sql_text. |
63 |
Да |
StartTime |
datetime |
Время начала события, если оно известно. |
14 |
Да |
TextData |
ntext |
TriggerExecutionStats |
1 |
Да |
PlanHandle |
image |
Дескриптор скомпилированного плана для триггера. Может использоваться для получения плана XML с помощью динамического административного представления dm_exec_query_plan. |
65 |
Да |
GroupID |
int |
Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. |
66 |
Да |
См. также
Справочник
Хранимая процедура sp_trace_setevent (Transact-SQL)
Класс событий Showplan XML for Query Compile
Динамические административные представления и функции (Transact-SQL)