Класс событий SP:Recompile
События класса SP:Recompile указывают на то, что хранимая процедура, триггер или пользовательская функция были перекомпилированы. В SQL Server 2005 и более поздних версиях повторная компиляция, о которой сообщают события этого класса, производится на уровне инструкций, тогда как в SQL Server 2000 она происходит на уровне пакетов.
В SQL Server 2005 и более поздних версиях отслеживать повторные компиляции на уровне инструкций предпочтительнее при помощи класса событий SQL:StmtRecompile. Начиная с SQL Server 2005, класс событий SP:Recompile считается устаревшим. Дополнительные сведения см. в разделе Класс событий SQL:StmtRecompile и статье «Перекомпиляция планов выполнения» раздела Кэширование и повторное использование плана выполнения.
Столбцы данных класса событий SP:Recompile
Имя столбца данных |
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 Trace. |
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. |
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, приведший к перекомпиляции на уровне инструкции. Обратите внимание, что этот столбец данных не заполнялся в SQL Server 2000, но заполняется в SQL Server 2005 и более поздних версиях. |
1 |
Да |
TransactionID |
bigint |
Назначенный системой идентификатор транзакции. |
4 |
Да |
XactSequence |
bigint |
Маркер, используемый для описания текущей транзакции. |
50 |
Да |
См. также