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


Класс событий статистики производительности

Класс событий статистики производительности можно использовать для мониторинга производительности запросов, хранимых процедур и триггеров, выполняемых. Каждый из шести подклассов событий указывает на событие в течение времени существования запросов, хранимых процедур и триггеров в системе. Используя сочетание этих подклассов событий и связанных sys.dm_exec_query_stats, sys.dm_exec_procedure_stats и sys.dm_exec_trigger_stats динамических административных представлений, можно восстановить журнал производительности любого запроса, хранимой процедуры или триггера.

Столбцы данных класса событий статистики производительности

В следующих таблицах описываются столбцы данных класса событий, связанные с каждым из следующих подклассов событий: EventSubClass 0, EventSubClass 1,EventSubClass 2,EventSubClass 3, EventSubClass 4 и EventSubClass 5.

EventSubClass 0

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

0 = новый текст пакетного SQL, который в настоящее время отсутствует в кэше.

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

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

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

EventSubClass 1

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

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

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

Для хранимых процедур с n числом запросов:

n число типов 1
двадцать один Да
ЦелочисленныеДанные2 int Конец инструкции в хранимой процедуре.

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

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

EventSubClass 2

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

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

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

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

n число типов 2
двадцать один Да
ЦелочисленныеДанные2 int Конец инструкции в пакете.

-1 для обозначения конца пакета.
55 Да
ИдентификаторОбъекта int Не применимо двадцать два Да
Смещение int Начальное смещение оператора в пакете.

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

EventSubClass 3

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

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

В трассировке создаются следующие типы EventSubClass.

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

1 типа 3 при очистке запроса из кэша

Для хранимых процедур с n числом запросов:
1 типа 3 при очистке запроса из кэша.
двадцать один Да
ЦелочисленныеДанные2 int Завершение инструкции в хранимой процедуре или пакете.

-1 обозначает окончание хранимой процедуры или пакета.
55 Да
ИдентификаторОбъекта int Отсутствует двадцать два Да
Смещение int Начальное смещение инструкции в пределах хранимой процедуры или пакета.

0 для начала хранимой процедуры или пакета команд.
61 Да
СПИД int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle image Дескриптор SQL, который можно использовать для получения хранимой процедуры или пакетного текста SQL с помощью динамического представления управления dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
Текстовые данные ntext СтатистикаВыполненияЗапросов 1 Да
PlanHandle image Дескриптор скомпилированного плана для хранимой процедуры или пакета. Это можно использовать для получения xml-плана с помощью динамического представления управления dm_exec_query_plan. 65 Да
Идентификатор группы int Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. 66 Да

EventSubClass 4

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

4 = Кэшированная хранимая процедура удалена из кэша, и связанные с ней данные о производительности скоро будут удалены.
двадцать один Да
ЦелочисленныеДанные2 int Отсутствует 55 Да
ИдентификаторОбъекта int Идентификатор хранимой процедуры. Это же значение совпадает с столбцом object_id в sys.procedures. двадцать два Да
Корректировка int Отсутствует 61 Да
СПИД int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle image Дескриптор SQL, который можно использовать для получения текста SQL хранимой процедуры, выполненной с использованием динамического представления управления dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
Текстовые данные ntext СтатистикаВыполненияПроцедуры 1 Да
PlanHandle image Дескриптор скомпилированного плана для хранимой процедуры. Это можно использовать для получения xml-плана с помощью динамического представления управления dm_exec_query_plan. 65 Да
Идентификатор группы int Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. 66 Да

EventSubClass 5

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

5 = кэшированный триггер был удален из кэша, а данные о производительности, связанные с ним, будут уничтожены.
двадцать один Да
ЦелочисленныеДанные2 int Отсутствует 55 Да
ИдентификаторОбъекта int Идентификатор триггера. Это же значение совпадает с столбцом object_id в представлениях каталога sys.triggers/sys.server_triggers. двадцать два Да
Смещение int Отсутствует 61 Да
СПИД int Идентификатор сеанса, в котором произошло событие. 12 Да
SqlHandle image Дескриптор SQL, который можно использовать для получения текста SQL триггера с помощью динамического представления управления dm_exec_sql_text. 63 Да
Время начала datetime Время начала события, если оно известно. 14 Да
Текстовые данные ntext Статистика выполнения триггера 1 Да
PlanHandle image Дескриптор скомпилированного плана для триггера. Это можно использовать для получения xml-плана с помощью динамического представления управления dm_exec_query_plan. 65 Да
Идентификатор группы int Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. 66 Да

См. также

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