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


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

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

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

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

Имя столбца данных Тип данных Description Идентификатор столбца Доступно для фильтрации
ApplicationName nvarchar Имя клиентского приложения, создавшего подключение к экземпляру Microsoft SQL Server. Этот столбец заполняется значениями, передаваемыми приложением, а не отображаемым именем программы. 10 Да
ClientProcessID int Идентификатор, присвоенный главным компьютером сервера процессу, в котором работает клиентское приложение. Заполнение этого столбца данных производится в том случае, если клиент предоставляет идентификатор процесса. 9 Да
DatabaseID int Идентификатор базы данных, в которой выполняется хранимая процедура. Определите значение для базы данных, используя функцию DB_ID. 3 Да
имя_базы_данных nvarchar Имя базы данных, в которой выполняется хранимая процедура. 35 Да
EventSequence int Порядковый номер события в запросе. 51 No
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 Да
НомерСтроки int Порядковый номер этой инструкции в пакете (если применимо). 5 Да
LoginName nvarchar Имя входа, передавшее пакет. 11 Да
LoginSid Изображение Идентификатор безопасности пользователя, зарегистрированного в системе в данный момент. Эти сведения можно найти в представлении каталога sys.server_principals. Значение идентификатора безопасности уникально для каждого имени входа на сервере. 41 Да
NestLevel int Уровень вложенности вызова хранимой процедуры. Например, хранимая процедура my_proc_a вызывает процедуру my_proc_b. В данном случае значение параметра NestLevel процедуры my_proc_a равно 1, а значение параметра NestLevel процедуры my_proc_b равно 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 Event Column. 28 Да
Смещение int Начальное смещение инструкции внутри хранимой процедуры или пакета, вызвавшего повторную компиляцию. 61 Да
RequestID int Идентификатор запроса, содержащего инструкцию. 49 Да
ServerName nvarchar Имя трассировки SQL Server. 26 No
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
SPID int Идентификатор серверного процесса соединения. 12 Да
SqlHandle varbinary 64-разрядный хэш на основе текста нерегламентированного запроса или базы данных и идентификатора объекта объекта SQL. Это значение может быть передано в функцию sys.dm_exec_sql_text, чтобы получить связанный SQL-текст. 63 No
Время начала datetime Время начала события, если оно известно. 14 Да
TextData ntext Текст повторно скомпилированной инструкции Transact-SQL. 1 Да
TransactionID bigint Назначенный системой идентификатор транзакции. 4 Да
XactSequence bigint Токен, который описывает текущую транзакцию. 50 Да

См. также

Класс событий SP:Recompile
sp_trace_setevent (Transact-SQL)