Share via


Classe di evento Plan Guide Unsuccessful

Questa classe di evento indica che in SQL Server non è stato possibile creare un piano di esecuzione per una query o un batch contenente una guida di 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 utilizzata dalla query o batch utilizzando la funzione sys.fn_validate_plan_guide e correggere l'errore riportato da questa funzione.

Questo evento è incluso nel modello Tuning di 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 in cui è stata creata 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 il client indica l'ID del processo client.

9

DatabaseID

int

ID del database specificato nell'istruzione di database USE oppure del database predefinito se per una determinata istanza non viene eseguita un'istruzione di database USE. In SQL Server Profiler viene visualizzato il nome del database se la colonna di dati ServerName viene acquisita nella traccia e il server è disponibile. È possibile determinare il valore per un database utilizzando la funzione DB_ID.

3

DatabaseName

nvarchar

Nome del database in cui viene eseguita l'istruzione dell'utente.

35

EventClass

int

Tipo di evento = 218.

27

No

EventSequence

int

Sequenza di un evento specifico nella richiesta.

51

No

HostName

nvarchar

Nome del computer in cui è in esecuzione il client. Questa colonna di dati viene popolata se il client fornisce il nome host. Per determinare il nome host, utilizzare 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 (account di protezione di SQL Server o credenziali di accesso di Microsoft Windows nel formato DOMINIO\nomeutente).

11

LoginSid

image

ID di protezione (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 di Windows a cui appartiene l'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. Se ad esempio si stabilisce la connessione a SQL Server con l'account di accesso Login1 e si esegue un'istruzione con l'account di accesso Login2, SessionLoginName indica Login1 e LoginName indica Login2. In questa colonna vengono visualizzati sia gli account di accesso di SQL Server che quelli 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