Класс событий SQL:StmtRecompile

Класс событий SQL:StmtRecompile указывает на повторные компиляции уровня инструкций, инициированные всеми типами пакетов: хранимыми процедурами, триггерами, нерегламентированными пакетами и запросами. Запросы могут передаваться с помощью sp_executesql, динамического SQL, методов Prepare, методов Execute или аналогичных интерфейсов. Вместо класса событийSP:Recompile должен использоваться класс событий SQL:StmtRecompile.

Столбцы данных класса событий SQL:StmtRecompile

Имя столбца данных

Тип данных

Описание

Идентификатор столбца

Фильтруемый

ApplicationName

nvarchar

Имя клиентского приложения, установившего соединение с экземпляром Microsoft SQL Server. Этот столбец заполняется значениями, передаваемыми приложением, а не отображаемым именем программы.

10

Да

ClientProcessID

int

Идентификатор, присвоенный главным компьютером процессу, в котором работает клиентское приложение. Заполнение этого столбца данных производится в том случае, если клиент предоставляет идентификатор процесса.

9

Да

DatabaseID

int

Идентификатор базы данных, в которой выполняется хранимая процедура. Определите значение для базы данных, используя функцию DB_ID.

3

Да

DatabaseName

nvarchar

Имя базы данных, в которой выполняется хранимая процедура.

35

Да

EventSequence

int

Порядковый номер события в запросе.

51

Нет

EventSubClass

int

Описывает причину повторной компиляции:

1 = схема изменена;

2 = статистика изменена;

3 = компиляция отложена;

4 = установленный параметр изменен;

5 = временная таблица изменена;

6 = удаленный набор строк изменен;

7 = разрешения For Browse изменены;

8 = среда уведомлений о запросах изменена;

9 = секционированное представление изменено;

10 = параметры курсора изменены;

11 = запрошен параметр (recompile).

21

Да

GroupID

int

Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL.

66

Да

HostName

nvarchar

Имя компьютера, на котором выполняется выдавшая эту инструкцию клиентская программа. Этот столбец данных заполняется, если клиент предоставляет имя узла. Чтобы определить имя узла, используйте функцию HOST_NAME.

8

Да

IntegerData2

int

Конечное смещение инструкции внутри хранимой процедуры или пакета, вызвавшего повторную компиляцию. Конечное смещение равно -1 в том случае, если инструкция является последней инструкцией в пакете.

55

Да

IsSystem

int

Указывает, произошло событие в системном или в пользовательском процессе.

1 = системный процесс

0 = пользовательский процесс

60

Да

LineNumber

int

Порядковый номер этой инструкции в пакете (если применимо).

5

Да

LoginName

nvarchar

Имя входа, передавшее пакет.

11

Да

LoginSid

image

Идентификатор безопасности пользователя, зарегистрированного в системе в данный момент. Эти сведения можно найти в представлении каталога sys.server_principals. Значение идентификатора безопасности уникально для каждого имени входа на сервере.

41

Да

NestLevel

int

Уровень вложенности вызова хранимой процедуры. Например, хранимая процедура my_proc_a вызывает my_proc_b. В этом случае my_proc_a имеет NestLevel со значением 1, а my_proc_b имеет NestLevel со значением 2.

29

Да

NTDomainName

nvarchar

Домен Windows, к которому принадлежит пользователь.

7

Да

NTUserName

nvarchar

Имя пользователя Windows для подключенного пользователя.

6

Да

ObjectID

int

Назначенный системой идентификатор объекта, содержащего инструкцию, которая вызвала повторную компиляцию. Этот объект может быть хранимой процедурой, триггером или определяемой пользователем функцией. Для нерегламентированных пакетов или подготовленного SQL столбцы ObjectID и ObjectName возвращают значение NULL.

22

Да

ObjectName

nvarchar

Имя объекта с идентификатором ObjectID.

34

Да

ObjectType

int

Значение, представляющее тип объекта, связанного с событием. Дополнительные сведения см. в разделе Столбец события ObjectType Trace.

28

Да

Offset

int

Начальное смещение инструкции внутри хранимой процедуры или пакета, вызвавшего повторную компиляцию.

61

Да

RequestID

int

Идентификатор запроса, содержащего инструкцию.

49

Да

ServerName

nvarchar

Имя отслеживаемой версии SQL Server.

26

Нет

SessionLoginName

nvarchar

Имя входа пользователя, создавшего этот сеанс. Например, при подключении к SQL Server по имени Имя_входа1 и при выполнении инструкции под именем Имя_входа2 SessionLoginName выводится значение Имя_входа1, а в столбце LoginName содержит значение «Имя_входа2». В этом столбце отображаются как имена входа SQL Server, так и имена входа Windows.

64

Да

SPID

int

Идентификатор серверного процесса соединения.

12

Да

SqlHandle

varbinary

64-разрядная версия хэша, основанная на тексте нерегламентированного запроса или базы данных и на идентификаторе объекта SQL. Это значение может быть передано в функцию sys.dm_exec_sql_text для получения соответствующего текста SQL.

63

Нет

StartTime

datetime

Время начала события, если оно известно.

14

Да

TextData

ntext

Текст повторно скомпилированной инструкции Transact-SQL.

1

Да

TransactionID

bigint

Назначенный системой идентификатор транзакции.

4

Да

XactSequence

bigint

Токен, который описывает текущую транзакцию.

50

Да

См. также

Справочник

Класс событий SP:Recompile

Хранимая процедура sp_trace_setevent (Transact-SQL)