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

События класса SP:Recompile указывают на то, что хранимая процедура, триггер или определяемая пользователем функция были перекомпилированы. Перекомпиляции, о которых сообщают события этого класса, производятся на уровне инструкций.

В SQL Server 2005 и более поздних версиях предпочтительный способ трассировки повторных компиляций на уровне инструкций состоит в использовании класса событий SQL:StmtRecompile. Начиная с версии SQL Server 2005 класс событий SP:Recompile считается устаревшим. Дополнительные сведения см. в разделе Класс событий SQL:StmtRecompile.

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

Data column name

Data type

Описание

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

Фильтруемый

ApplicationName

nvarchar

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

10

Да

ClientProcessID

int

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

9

Да

DatabaseID

int

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

3

Да

DatabaseName

nvarchar

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

35

Да

EventClass

int

Тип события = 37.

27

Нет

EventSequence

int

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

51

Нет

EventSubClass

int

Тип подкласса события. Указывает причину перекомпиляции.

1 = изменение схемы

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

3 = перекомпиляция с разрешением имен

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

5 = изменение временной таблицы

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

7 = изменение разрешений на обзор

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

9 = изменение представления MPI

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

11 = по значению параметра перекомпиляции

21

Да

GroupID

int

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

66

Да

HostName

nvarchar

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

8

Да

IntegerData2

int

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

55

Да

IsSystem

int

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

60

Да

LoginName

nvarchar

Имя входа пользователя (либо защищенное имя входа SQL Server, либо учетные данные входа Microsoft Windows в формате «ДОМЕН\имя_пользователя»).

11

Да

LoginSid

image

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

41

Да

NestLevel

int

Уровень вложенности хранимой процедуры.

29

Да

NTDomainName

nvarchar

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

7

Да

NTUserName

nvarchar

Имя пользователя Windows.

6

Да

ObjectID

int

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

22

Да

ObjectName

nvarchar

Имя объекта, запустившего повторную компиляцию.

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_trace_setevent (Transact-SQL)

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