Класс неудачных событий для Plan Guide

Класс событий "Руководство по плану" указывает, что SQL Server не удалось создать план выполнения для запроса или пакета, содержащего руководство по плану. Вместо этого план был скомпилирован без использования руководства по плану. Событие возникает, когда выполняются следующие условия:

  • Пакет или модуль в определении руководства по плану соответствует пакету, который выполняется.

  • Запрос в определении руководства по плану соответствует запросу, который выполняется.

  • Подсказки в определении подсказок для плана, включая подсказку USE PLAN, не были успешно применены к запросу или пакету. То есть скомпилированный план запроса не может учитывать указанные указания, и план был скомпилирован без использования руководства по плану.

Ошибочное руководство по плану может вызвать это событие. Проверьте руководство по плану, используемое запросом или пакетом с помощью функции sys.fn_validate_plan_guide , и исправьте ошибку, сообщаемую этой функцией.

Это событие включается в шаблон настройки профилировщика SQL Server.

Руководство по планированию данных столбцов класса неудачных событий

Имя столбца данных Тип данных Описание Идентификатор столбца Доступно для фильтрации
ИмяПриложения nvarchar Имя клиентского приложения, создавшего подключение к экземпляру SQL Server. Этот столбец заполняется значениями, передаваемыми приложением вместо отображаемого имени программы. 10 Да
ClientProcessID int Идентификатор, присвоенный главным компьютером сервера процессу, в котором работает клиентское приложение. Этот столбец данных заполняется в том случае, если клиент предоставляет идентификатор клиентского процесса. 9 Да
Идентификатор базы данных int Идентификатор базы данных, указанной инструкцией USEdatabase или базой данных по умолчанию, если инструкция USEdatabase не была выдана для указанного экземпляра. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. 3 Да
ИмяБазыДанных nvarchar Имя базы данных, в которой выполняется пользовательская инструкция. 35 Да
EventClass int Тип события = 218. двадцать семь нет
Последовательность событий int Последовательность определенного события в запросе. 51 нет
Имя хоста nvarchar Имя компьютера, на котором выполняется клиентская программа. Этот столбец данных заполняется, если клиент предоставляет имя узла. Чтобы определить имя узла, используйте функцию HOST_NAME. 8 Да
IsSystem int Указывает, произошло ли событие в системном процессе или пользовательском процессе: 1 = система, 0 = пользователь. шестьдесят Да
Имя пользователя для входа nvarchar Имя имени входа пользователя (имя для входа в систему безопасности SQL Server или учетные данные входа Microsoft Windows в формате DOMAIN\username). 11 Да
ЛогинСид image Идентификатор безопасности вошедшего в систему пользователя. Эти сведения можно найти в представлениях каталога sys.server_principals или sys.sql_logins . Значение идентификатора безопасности уникально для каждого имени входа на сервере. 41 Да
Имя домена NT nvarchar Домен Windows, к которому принадлежит пользователь. 7 Да
NTИмяПользователя nvarchar Имя пользователя Windows. 6 Да
ИдентификаторОбъекта int Идентификатор объекта модуля, скомпилированного при применении руководства по плану. Если руководство по плану не было применено к модулю, этот столбец имеет значение NULL. двадцать два Да
RequestID int Идентификатор запроса, содержащего инструкцию. 49 Да
Имя сервера nvarchar Имя отслеживаемого экземпляра SQL Server. 26 нет
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
СПИД int Идентификатор сеанса, в котором произошло событие. 12 Да
Время начала datetime Время начала события, если оно известно. 14 Да
Текстовые данные ntext Имя руководства по плану. 1 Да
TransactionID bigint Назначенный системой идентификатор транзакции. 4 Да
ИксактСеквенс bigint Токен, который описывает текущую транзакцию. 50 Да

См. также

Руководство по успешному проведению класса по организации мероприятий
Расширенные события
sp_trace_setevent (Transact-SQL)
sys.fn_validate_plan_guide (Transact-SQL)
sp_create_plan_guide (Transact-SQL)
sp_create_plan_guide_from_handle (Transact-SQL)