Condividi tramite


Classe di evento Plan Guide Unsuccessful

La classe di evento Plan Guide non riuscita indica che SQL Server non è stato possibile produrre un piano di esecuzione per una query o un batch che contiene una guida al piano. Il piano è stato invece compilato senza utilizzare la guida di piano. L'evento viene generato quando vengono soddisfatte le condizioni seguenti:

  • Il modulo/batch nella definizione della guida di piano corrisponde al batch in esecuzione.

  • La query nella definizione della guida di piano corrisponde alla query in esecuzione.

  • Gli hint nella definizione della guida di piano, incluso l'hint USE PLAN, non vengono applicati correttamente alla query o batch. Quindi, il piano di query compilato non è in grado di applicare gli hint specificati e il piano viene compilato utilizzando la guida di piano.

Una guida di piano non valida può causare la generazione di questo evento. Convalidare la guida di piano usata dalla query o batch tramite la funzione sys.fn_validate_plan_guide e correggere l'errore riportato da questa funzione.

Questo evento è incluso nel modello di ottimizzazione SQL Server Profiler.

Colonne di dati della classe di evento Plan Guide Unsuccessful

Nome colonna di dati Tipo di dati Descrizione ID colonna Filtrabile
ApplicationName nvarchar Nome dell'applicazione client che ha creato la connessione a un'istanza di SQL Server. Questa colonna viene popolata con i valori passati dall'applicazione anziché con il nome visualizzato del programma. 10
ClientProcessID int ID assegnato dal computer host al processo in cui è in esecuzione l'applicazione client. Questa colonna di dati viene popolata se tramite il client viene indicato l'ID del processo client. 9
DatabaseID int ID del database specificato nell'istruzione USE database oppure ID del database predefinito, se per un'istanza specificata non viene eseguita un'istruzione USE database . SQL Server Profiler visualizza il nome del database se la colonna dati ServerName viene acquisita nella traccia e il server è disponibile. Determinare il valore per un database utilizzando la funzione DB_ID. 3
DatabaseName nvarchar Nome del database nel quale viene eseguita l'istruzione dell'utente. 35
EventClass int Tipo di evento = 218. 27 No
EventSequence int Sequenza di un determinato evento all'interno della richiesta. 51 No
HostName nvarchar Nome del computer in cui viene eseguito il client. Questa colonna di dati viene popolata se il client fornisce il nome host. Per determinare il nome host, usare la funzione HOST_NAME. 8
IsSystem int Indica se l'evento si è verificato in un processo di sistema o in un processo utente: 1 = sistema, 0 = utente. 60
LoginName nvarchar Nome dell'account di accesso dell'utente (SQL Server account di accesso di sicurezza o le credenziali di accesso di Microsoft Windows sotto forma di DOMINIO\nome utente). 11
LoginSid image ID di sicurezza (SID) dell'utente connesso. Tali informazioni sono disponibili nelle viste del catalogo sys.server_principals o sys.sql_logins . Il SID è univoco per ogni account di accesso nel server. 41
NTDomainName nvarchar Dominio Windows di appartenenza dell'utente. 7
NTUserName nvarchar Nome utente di Windows. 6
ObjectID int ID oggetto del modulo in fase di compilazione quando viene applicata la guida di piano. Se la guida di piano non viene applicata a un modulo, questa colonna è impostata su NULL. 22
RequestID int ID della richiesta contenente l'istruzione. 49
ServerName nvarchar Nome dell'istanza di SQL Server tracciata. 26 No
SessionLoginName nvarchar Nome dell'account di accesso dell'utente che ha avviato la sessione. Ad esempio, se ci si connette a SQL Server usando Login1 ed eseguire un'istruzione come Login2, SessionLoginName mostra Login1 e LoginName mostra Login2. Questa colonna visualizza sia SQL Server che gli account di accesso di Windows. 64
SPID int ID della sessione in cui si è verificato l'evento. 12
StartTime datetime Ora di inizio dell'evento, se disponibile. 14
TextData ntext Nome della guida di piano. 1
TransactionID bigint ID della transazione assegnato dal sistema. 4
XactSequence bigint Token utilizzato per descrivere la transazione corrente. 50

Vedere anche

Classe di evento Plan Guide Successful
Eventi estesi
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)