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


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

Изменения: 5 декабря 2005 г.

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

Столбцы данных класса событий 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

Да

HostName

nvarchar

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

8

Да

IntegerData2

int

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

55

Да

IsSystem

int

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

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

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

60

Да

LineNumber

int

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

5

Да

LoginName

nvarchar

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

11

Да

LoginSid

image

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

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 по имени Имя_входа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)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

5 декабря 2005 г.

Измененное содержимое.
  • Обновлено описание столбца ObjectID.
  • Обновлено описание столбца ObjectName.