Partager via


Classe d'événements Plan Guide Unsuccessful

La classe d'événements Plan Guide Unsuccessful indique que SQL Server n'a pas pu produire un plan d'exécution pour une requête ou un lot qui contenait un repère de plan. En remplacement, le plan a été compilé sans utiliser le repère de plan. L'événement est déclenché lorsque les conditions suivantes sont remplies :

  • Le lot/module dans la définition de repère de plan correspond au lot exécuté.

  • La requête dans la définition de repère de plan correspond à celle en cours d'exécution.

  • Les indicateurs dans la définition de repère de plan, y compris l'indicateur USE PLAN, n'ont pas été appliqués correctement à la requête ou au lot. Autrement dit, le plan de requête compilé n'a pas pu honorer les indicateurs spécifiés et le plan a été compilé sans utiliser le repère de plan.

Un repère de plan non valide peut provoquer le déclenchement de cet événement. Validez le repère de plan utilisé par la requête ou le lot à l'aide de la fonction sys.fn_validate_plan_guide et corrigez l'erreur signalée par cette fonction.

Cet événement est inclus dans le modèle Tuning de SQL Server Profiler.

Colonnes de données de la classe d'événements Plan Guide Unsuccessful

Nom de la colonne de données

Type de données

Description

ID de la colonne

Filtrable

ApplicationName

nvarchar

Nom de l'application cliente qui a créé la connexion à une instance de SQL Server. Cette colonne est remplie par des valeurs transmises par l'application et non pas du nom affiché du programme.

10

Oui

ClientProcessID

int

ID affecté par l'ordinateur hôte au processus dans lequel s'exécute l'application cliente. La colonne de données est remplie si le client fournit l'ID du processus client.

9

Oui

DatabaseID

int

ID de la base de données spécifiée par l'instruction USE database ou celui de la base de données par défaut si aucune instruction USE database n'a été spécifiée pour une instance indiquée. Le SQL Server Profiler affiche le nom de la base de données si la colonne de données ServerName est capturée dans la trace et que le serveur est disponible. Déterminez la valeur pour une base de données à l'aide de la fonction DB_ID.

3

Oui

DatabaseName

nvarchar

Nom de la base de données dans laquelle l'instruction de l'utilisateur est exécutée.

35

Oui

EventClass

int

Type d'événement = 218.

27

Non

EventSequence

int

Séquence d'un événement spécifique dans la demande.

51

Non

HostName

nvarchar

Nom de l'ordinateur sur lequel le client est exécuté. La colonne de données est remplie si le client fournit le nom de l'hôte. Pour déterminer le nom de l'hôte, utilisez la fonction HOST_NAME.

8

Oui

IsSystem

int

Indique si l'événement s'est produit dans un processus système ou un processus utilisateur : 1 = système, 0 = utilisateur.

60

Oui

LoginName

nvarchar

Nom de la connexion de l'utilisateur (soit la connexion de sécurité SQL Server, soit les informations d'identification Microsoft Windows au format DOMAINE\username).

11

Oui

LoginSid

image

Numéro d'identification de sécurité (SID) de l'utilisateur connecté. Ces informations se trouvent dans les affichages catalogue sys.server_principals ou sys.sql_logins. Chaque connexion possède un SID unique au niveau du serveur.

41

Oui

NTDomainName

nvarchar

Domaine Windows auquel appartient l'utilisateur.

7

Oui

NTUserName

nvarchar

Nom d'utilisateur Windows.

6

Oui

ObjectID

int

ID d'objet du module compilé lorsque le repère de plan a été appliqué. Si le repère de plan n'a pas été appliqué à un module, cette colonne a la valeur NULL.

22

Oui

RequestID

int

ID de la demande contenant l'instruction.

49

Oui

ServerName

nvarchar

Nom de l'instance SQL Server tracée.

26

Non

SessionLoginName

nvarchar

Nom de connexion de l'utilisateur à l'origine de la session. Exemple : si vous vous connectez à SQL Server en utilisant le nom d'utilisateur Login1 et exécutez une instruction sous le nom Login2, SessionLoginName retourne Login1 et LoginName retourne Login2. Cette colonne affiche à la fois les connexions SQL Server et Windows.

64

Oui

SPID

int

ID de la session au cours de laquelle l'événement s'est produit.

12

Oui

StartTime

datetime

Heure à laquelle a débuté l'événement, si elle est connue.

14

Oui

TextData

ntext

Nom du repère de plan.

1

Oui

TransactionID

bigint

ID affecté par le système à la transaction.

4

Oui

XactSequence

bigint

Jeton qui décrit la transaction actuelle.

50

Oui

Voir aussi

Référence

Classe d'événements 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)

Concepts

Événements étendus