Clase de eventos Plan Guide Unsuccessful
Se aplica a: SQL Server
La clase de eventos Plan Guide Unsuccessful indica que SQL Server no pudo generar un plan de ejecución para una consulta o lote que contenía una guía de plan. En su lugar, el plan se compiló sin utilizar la guía de plan. El evento se disparará cuando se cumplan las siguientes condiciones:
El lote/módulo de la definición de la guía de plan coincide con el lote que se está ejecutando.
La consulta de la definición de la guía de plan coincide con la consulta que se está ejecutando.
Las sugerencias en la definición de la guía de plan, incluida la sugerencia
USE PLAN
, no se aplicaron correctamente a la consulta o lote. Es decir, el plan de consulta compilado no pudo cumplir con las sugerencias especificadas y el plan se compiló sin utilizar la guía de plan.
Es posible que la causa de este evento sea una guía de plan no válida. Valide la guía de plan que usa la consulta o lote mediante la función sys.fn_validate_plan_guide y corrija el error que notificó esta función.
Este evento se incluye en la plantilla de optimización de SQL Server Profiler.
Nota:
Esta clase de eventos no está disponible en Azure SQL Database.
Columnas de datos de la clase de eventos Plan Guide Unsuccessful
Nombre de columna de datos | Tipo de datos | Descripción | Identificador de columna | Filtrable |
---|---|---|---|---|
ApplicationName | nvarchar | Nombre de la aplicación cliente que creó la conexión a una instancia de SQL Server. Esta columna se rellena con los valores que pasa la aplicación, en lugar de con el nombre que se muestra del programa. | 10 | Sí |
ClientProcessID | int | Identificador que el equipo host asigna al proceso en el que se ejecuta la aplicación cliente. Esta columna de datos se rellena si el cliente proporciona el identificador de proceso del cliente. | 9 | Sí |
DatabaseID | int | Identificador de la base de datos especificada mediante la instrucción USE database o la base de datos predeterminada si no se emite la instrucción USE database para una determinada instancia. SQL Server Profiler muestra el nombre de la base de datos si se captura la columna de datos ServerName en el seguimiento y el servidor está disponible. Determina el valor de una base de datos mediante la función DB_ID. | 3 | Sí |
DatabaseName | nvarchar | Nombre de la base de datos en la que se ejecuta la instrucción del usuario. | 35 | Sí |
EventClass | int | Tipo de evento = 218. | 27 | No |
EventSequence | int | Secuencia de un evento determinado de la solicitud. | 51 | No |
HostName | nvarchar | Nombre del equipo en el que se está ejecutando el cliente. Esta columna de datos se rellena si el cliente proporciona el nombre del host. Para averiguar el nombre de host, use la función HOST_NAME . | 8 | Sí |
IsSystem | int | Indica si el evento ha ocurrido en un proceso del sistema o en un proceso de usuario1 = sistema, 0 = usuario. | 60 | Sí |
LoginName | nvarchar | Nombre del inicio de sesión del usuario (inicio de sesión de seguridad de SQL Server o las credenciales de inicio de sesión de Microsoft Windows en forma de DOMINIO\nombredeusuario). | 11 | Sí |
LoginSid | image | SID (número de identificación de seguridad) del usuario que ha iniciado la sesión. Encontrará esta información en la vista sys.server_principals o en las vistas de catálogo sys.sql_logins . Cada SID es único para cada inicio de sesión en el servidor. | 41 | Sí |
NTDomainName | nvarchar | Dominio de Windows al que pertenece el usuario. | 7 | Sí |
NTUserName | nvarchar | Nombre del usuario de Windows. | 6 | Sí |
ObjectID | int | Id. de objeto del módulo que se estaba compilando cuando se aplicó la guía de plan. Si la guía de plan no se aplicó a un módulo, esta columna estará establecida en NULL. | 22 | Sí |
RequestID | int | Id. de la solicitud que contiene la instrucción. | 49 | Sí |
nombreDeServidor | nvarchar | Nombre de la instancia de SQL Server que se está realizando el seguimiento. | 26 | No |
SessionLoginName | nvarchar | Nombre de inicio de sesión del usuario que originó la sesión. Por ejemplo, si se conecta a SQL Server mediante Login1 y ejecuta una instrucción como Login2, SessionLoginName muestra Login1 y LoginName muestra Login2. En esta columna se muestran los inicios de sesión de SQL Server y Windows. | 64 | Sí |
SPID | int | Identificador de la sesión en la que se produjo el evento. | 12 | Sí |
StartTime | datetime | Hora a la que se inició el evento, si está disponible. | 14 | Sí |
TextData | ntext | Nombre de la guía de plan. | 1 | Sí |
TransactionID | bigint | Id. de la transacción asignado por el sistema. | 4 | Sí |
XactSequence | bigint | Token que describe la transacción actual. | 50 | Sí |
Consulte también
Plan Guide Successful (clase de eventos)
Eventos extendidos
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)