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


Plan Guide Unsuccessful, класс событий

Область применения: SQL Server

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

  • Уже выполняется пакет, совпадающий с пакетом или модулем в определении структуры плана.

  • Уже выполняется запрос, совпадающий с запросом в определении структуры плана.

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

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

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

Примечание.

Этот класс событий недоступен в База данных SQL Azure.

Столбцы данных класса событий Plan Guide Unsuccessful

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

См. также

Класс событий Plan Guide Successful
Расширенные события
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)