Поделиться через


Performance Statistics, класс событий

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Класс событий 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

Имя столбца данных Тип данных Description Идентификатор столбца Доступно для фильтрации
BigintData1 bigint NULL 52 Да
BinaryData Изображение NULL 2 Да
DatabaseID int Идентификатор базы данных, указанной в инструкции USE database , или database по умолчанию, если для данного экземпляра инструкция USE не выполнялась. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. 3 Да
EventSequence int Последовательность данного события в запросе. 51 No
EventSubClass int Тип подкласса события.

0 = Новый текст пакета SQL, который пока отсутствует в кэше.

Следующие типы EventSubClass создаются в трассировке для нерегламентированных пакетов.

Для нерегламентированных пакетов, состоящих из n запросов.

1 типа 0
21 Да
IntegerData2 int NULL 55 Да
ObjectID int NULL 22 Да
Смещение int NULL 61 Да
PlanHandle Изображение NULL 65 Да
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
SPID int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle Изображение Дескриптор SQL, который можно использовать для получения текста SQL пакета с помощью динамического административного представления sys.dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
TextData ntext Текст пакета SQL. 1 Да

EventSubClass 1

Имя столбца данных Тип данных Description Идентификатор столбца Доступно для фильтрации
BigintData1 bigint Совокупное количество повторных компиляций данного плана. 52 Да
BinaryData Изображение Двоичный XML скомпилированного плана. 2 Да
DatabaseID int Идентификатор базы данных, указанной в инструкции USE database , или database по умолчанию, если для данного экземпляра инструкция USE не выполнялась. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. 3 Да
EventSequence int Последовательность данного события в запросе. 51 No
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
EventSubClass int Тип подкласса события.

1 = Скомпилированы запросы в хранимой процедуре.

Следующие типы EventSubClass создаются в трассировке для хранимых процедур.

Для хранимых процедур, состоящих из n запросов.

n типа 1
21 Да
IntegerData2 int Конечное смещение инструкции в хранимой процедуре:

-1 для конечного смещения хранимой процедуры.
55 Да
ObjectID int Идентификатор объекта, назначенный системой. 22 Да
Смещение int Начальное смещение инструкции в пределах хранимой процедуры или пакета. 61 Да
SPID int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle Изображение Дескриптор SQL, который можно использовать для получения текста SQL хранимой процедуры с помощью динамического административного представления dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
TextData ntext NULL 1 Да
PlanHandle Изображение Дескриптор скомпилированного плана для хранимой процедуры. Может быть использован для получения плана XML с помощью динамического административного представления sys.dm_exec_query_plan. 65 Да
ObjectType int Значение, представляющее тип объекта, связанного с событием.

8272 = хранимая процедура
28 Да
BigintData2 bigint Общий объем памяти в килобайтах, используемой во время компиляции. 53 Да
ЦП int Общее процессорное время в миллисекундах, затраченное на компиляцию. 18 Да
Длительность int Общее время в микросекундах, затраченное на компиляцию. 13 Да
IntegerData int Размер скомпилированного плана в килобайтах. 25 Да

EventSubClass 2

Имя столбца данных Тип данных Description Идентификатор столбца Доступно для фильтрации
BigintData1 bigint Совокупное количество повторных компиляций данного плана. 52 Да
BinaryData Изображение Двоичный XML скомпилированного плана. 2 Да
DatabaseID int Идентификатор базы данных, указанной в инструкции USE database , или database по умолчанию, если для данного экземпляра инструкция USE не выполнялась. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. 3 Да
EventSequence int Последовательность данного события в запросе. 51 No
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
EventSubClass int Тип подкласса события.

2 = Скомпилированы запросы в нерегламентированной инструкции SQL.

Следующие типы EventSubClass создаются в трассировке для нерегламентированных пакетов.

Для нерегламентированных пакетов, состоящих из n запросов.

n типа 2
21 Да
IntegerData2 int Конечное смещение инструкции в пакете:

-1 для конечного смещения пакета.
55 Да
ObjectID int Н/П 22 Да
Смещение int Начальное смещение инструкции в пределах пакета.

0 для начального смещения пакета.
61 Да
SPID int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle Изображение Дескриптор SQL. Может быть использован для получения текста SQL пакета с помощью динамического административного представления dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
TextData ntext NULL 1 Да
PlanHandle Изображение Дескриптор скомпилированного плана для пакета. Может быть использован для получения плана XML пакета с помощью динамического административного представления dm_exec_query_plan. 65 Да
BigintData2 bigint Общий объем памяти в килобайтах, используемой во время компиляции. 53 Да
ЦП int Общее время ЦП в микросекундах, затраченное на компиляцию. 18 Да
Длительность int Общее время в миллисекундах, затраченное на компиляцию. 13 Да
IntegerData int Размер скомпилированного плана в килобайтах. 25 Да

EventSubClass 3

Имя столбца данных Тип данных Description Идентификатор столбца Доступно для фильтрации
BigintData1 bigint Совокупное количество повторных компиляций данного плана. 52 Да
BinaryData Изображение NULL 2 Да
DatabaseID int Идентификатор базы данных, указанной в инструкции USE database , или database по умолчанию, если для данного экземпляра инструкция USE не выполнялась. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. 3 Да
EventSequence int Последовательность данного события в запросе. 51 No
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
EventSubClass int Тип подкласса события.

3 = Запрос удален из кэша, и данные предыстории производительности этого плана тоже будут уничтожены.

Следующие типы EventSubClass формируются при трассировке.

Для нерегламентированных пакетов, состоящих из n запросов.

1 типа 3, когда запрос сброшен из кэша.

Для хранимых процедур, состоящих из n запросов.

1 типа 3, когда запрос сброшен из кэша.
21 Да
IntegerData2 int Конечное смещение инструкции в хранимой процедуре или пакете:

-1 для конечного смещения хранимой процедуры или пакета.
55 Да
ObjectID int NULL 22 Да
Смещение int Начальное смещение инструкции в пределах хранимой процедуры или пакета.

0 для начального смещения хранимой процедуры или пакета.
61 Да
SPID int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle Изображение Дескриптор SQL, который можно использовать для получения текста SQL хранимой процедуры или пакета с помощью динамического административного представления dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
TextData ntext QueryExecutionStats 1 Да
PlanHandle Изображение Дескриптор скомпилированного плана для хранимой процедуры или пакета. Может быть использован для получения плана XML с помощью динамического административного представления dm_exec_query_plan. 65 Да
GroupID int Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. 66 Да

EventSubClass 4

Имя столбца данных Тип данных Description Идентификатор столбца Доступно для фильтрации
BigintData1 bigint NULL 52 Да
BinaryData Изображение NULL 2 Да
DatabaseID int Идентификатор базы данных, в которой располагается заданная хранимая процедура. 3 Да
EventSequence int Последовательность данного события в запросе. 51 No
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
EventSubClass int Тип подкласса события.

4 = Кэшированная хранимая процедура удалена из кэша, и связанные с ней данные об истории производительности будут уничтожены.
21 Да
IntegerData2 int NULL 55 Да
ObjectID int Идентификатор хранимой процедуры. Соответствует столбцу object_id в представлении sys.procedures. 22 Да
Смещение int NULL 61 Да
SPID int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle Изображение Дескриптор SQL, который можно использовать для получения текста SQL хранимой процедуры, выполненной с помощью динамического административного представления dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
TextData ntext ProcedureExecutionStats 1 Да
PlanHandle Изображение Дескриптор скомпилированного плана для хранимой процедуры. Может быть использован для получения плана XML с помощью динамического административного представления dm_exec_query_plan. 65 Да
GroupID int Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. 66 Да

EventSubClass 5

Имя столбца данных Тип данных Description Идентификатор столбца Доступно для фильтрации
BigintData1 bigint NULL 52 Да
BinaryData Изображение NULL 2 Да
DatabaseID int Идентификатор базы данных, в которой располагается заданный триггер. 3 Да
EventSequence int Последовательность данного события в запросе. 51 No
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
EventSubClass int Тип подкласса события.

5 = Кэшированный триггер удален из кэша, и связанные с ним данные об истории производительности будут уничтожены.
21 Да
IntegerData2 int NULL 55 Да
ObjectID int Идентификатор триггера. Соответствует столбцу object_id в представлениях каталогов sys.triggers/sys.server_triggers. 22 Да
Смещение int NULL 61 Да
SPID int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle Изображение Дескриптор SQL, который можно использовать для получения текста SQL триггера с помощью динамического административного представления dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
TextData ntext TriggerExecutionStats 1 Да
PlanHandle Изображение Дескриптор скомпилированного плана для триггера. Может быть использован для получения плана XML с помощью динамического административного представления dm_exec_query_plan. 65 Да
GroupID int Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. 66 Да

См. также

Расширенные события
sp_trace_setevent (Transact-SQL)
Класс событий Showplan XML for Query Compile
Динамические административные представления и функции (Transact-SQL)