Partager via


Plan Guide Unsuccessful (classe d'événements)

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. Au lieu de cela, le plan a été compilé sans utiliser le repère de plan. L’événement se déclenche lorsque les conditions suivantes sont vraies :

  • Le lot/module de la définition du repère de plan correspond au lot en cours d’exécution.

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

  • Les indicateurs de la définition du 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 respecter les indicateurs spécifiés et le plan a été compilé sans utiliser le repère de plan.

Un guide 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 paramétrage de SQL Server Profiler.

Colonnes de données de la classe d’événements Plan Guide non réussies

Nom de la colonne de données Type de données Descriptif ID de la colonne Filtrable
Nom de l'application nvarchar Nom de l’application cliente qui a créé la connexion à une instance de SQL Server. Cette colonne est remplie avec les valeurs passées par l’application au lieu 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
ID de base de données int ID de la base de données spécifiée par l’instruction use database ou la base de données par défaut si aucune instruction use database n’a été émise pour une instance spécifiée. Le Générateur de profils SQL affiche le nom de la base de données si la colonne de données ServerName du serveur 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
Nom de la base de données 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
Séquence d'événements int Séquence d’un événement spécifique dans la requête. 51 Non
Nom d'hôte 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 sur un processus système ou un processus utilisateur : 1 = système, 0 = utilisateur. soixante Oui
Nom d'utilisateur nvarchar Nom de la connexion de l’utilisateur (connexion de sécurité SQL Server ou informations d’identification de connexion Microsoft Windows sous la forme domain\username). 11 Oui
ID de connexion image Numéro d'identification de sécurité (SID) de l'utilisateur connecté. Vous pouvez trouver ces informations dans les vues de catalogue sys.server_principals ou sys.sql_logins. Chaque connexion possède un SID unique au niveau du serveur. 41 Oui
Nom de domaine NT nvarchar Domaine Windows auquel appartient l'utilisateur. 7 Oui
NTUserName (Nom d'utilisateur NT) nvarchar Nom d'utilisateur Windows. 6 Oui
Identifiant d'objet int ID d'objet du module qui était en cours de compilation lorsque le guide 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 requête contenant l’instruction. 49 Oui
Nom du serveur nvarchar Nom de l’instance de SQL Server en cours de suivi. 26 Non
SessionLoginName nvarchar Nom de connexion de l'utilisateur à l'origine de la session. Par exemple, si vous vous connectez à SQL Server à l’aide de Login1 et exécutez une instruction en tant que Login2, SessionLoginName affiche Login1 et LoginName affiche 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
Heure de début datetime Heure à laquelle a débuté l'événement, si elle est connue. 14 Oui
Données textuelles ntext Nom du guide de plan. 1 Oui
TransactionID bigint ID affecté par le système à la transaction. 4 Oui
XactSequence bigint Jeton qui décrit la transaction en cours. 50 Oui

Voir aussi

Guide de planification d'une classe d'événements réussie
Événements étendus
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)