Класс событий SQL:StmtRecompile
Класс событий SQL:StmtRecompile указывает на повторные компиляции уровня инструкций, инициированные всеми типами пакетов: хранимыми процедурами, триггерами, нерегламентированными пакетами и запросами. Запросы могут передаваться с помощью sp_executesql, динамического SQL, методов Prepare, методов Execute или аналогичных интерфейсов. Начиная с SQL Server 2005, вместо класса событий 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 Trace. |
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. В этом случае значение параметра 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. |
28 |
Да |
Offset |
int |
Начальное смещение инструкции внутри хранимой процедуры или пакета, вызвавшего повторную компиляцию. |
61 |
Да |
RequestID |
int |
Идентификатор запроса, содержащего инструкцию. |
49 |
Да |
ServerName |
nvarchar |
Имя отслеживаемой версии SQL Server. |
26 |
Нет |
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 |
Нет |
StartTime |
datetime |
Время начала события, если оно известно. |
14 |
Да |
TextData |
ntext |
Текст повторно скомпилированной инструкции Transact-SQL. |
1 |
Да |
TransactionID |
bigint |
Назначенный системой идентификатор транзакции. |
4 |
Да |
XactSequence |
bigint |
Маркер, который описывает текущую транзакцию. |
50 |
Да |
См. также