次の方法で共有


Plan Guide Unsuccessful イベント クラス

適用対象: SQL サーバー

プラン ガイドの失敗イベント クラスは、SQL Server がプラン ガイドを含むクエリまたはバッチの実行プランを生成できなかったことを示します。 この場合、プラン ガイドは使用されずにプランがコンパイルされています。 このイベントは、次の条件に該当する場合に発生します。

  • プラン ガイド定義のバッチまたはモジュールが、実行されているバッチと一致する。

  • プラン ガイド定義のクエリが、実行されているクエリと一致する。

  • USE PLAN のヒントを含めプラン ガイド定義のヒントがクエリまたはバッチに正常に適用されていない。 つまり、コンパイルされたクエリ プランには指定されたヒントが適用されず、プラン ガイドは使用されずにプランがコンパイルされている。

無効なプラン ガイドが原因でこのイベントが発生する場合があります。 クエリまたはバッチで使用されるプラン ガイドを sys.fn_validate_plan_guide 関数を使用して検証し、この関数で報告されたエラーを修正します。

このイベントは、SQL Server プロファイラー チューニング テンプレートに含まれています。

Note

このイベント クラスは、Azure SQL Database では使用できません。

Plan Guide Unsuccessful イベント クラスのデータ列

データ列名 データの種類 説明 列 ID フィルター可能
ApplicationName nvarchar SQL Server のインスタンスへの接続を作成したクライアント アプリケーションの名前。 この列には、プログラムの表示名ではなく、アプリケーションによって渡された値が格納されます。 10 はい
ClientProcessID int クライアント アプリケーションが実行されているプロセスに対し、ホスト コンピューターが割り当てた ID。 クライアントによりクライアント プロセス ID が指定されると、このデータ列に値が格納されます。 9 はい
DatabaseID int USE database ステートメントで指定されたデータベースの ID、または特定のインスタンスについて USE database ステートメントが実行されていない場合は既定のデータベースの ID となります。 SQL Server Profiler では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。 3 はい
DatabaseName nvarchar ユーザーのステートメントが実行されているデータベースの名前。 35 はい
EventClass int イベントの種類 = 218。 27 いいえ
EventSequence int 要求内の特定のイベントのシーケンス。 51 いいえ
HostName nvarchar クライアントが実行されているコンピューターの名前。 このデータ列にはクライアントからホスト名が提供されている場合に値が格納されます。 ホスト名を指定するには、 HOST_NAME 関数を使用します。 8 はい
IsSystem int イベントがシステム プロセスで発生したか、ユーザー プロセスで発生したかを示します。1 = システム、0 = ユーザーです。 60 はい
LoginName nvarchar ユーザーのログインの名前 (SQL Server セキュリティ ログインまたは MICROSOFT Windows ログイン資格情報 (DOMAIN\username 形式)。 11 はい
LoginSid image ログイン ユーザーのセキュリティ ID 番号 (SID)。 この情報は、 sys.server_principals カタログ ビューまたは sys.sql_logins カタログ ビューで参照できます。 各 SID はサーバーのログインごとに一意です。 41 はい
NTDomainName nvarchar ユーザーが所属する Windows ドメイン。 7 はい
NTUserName nvarchar Windows のユーザー名。 6 はい
ObjectID int プラン ガイドが適用されたときにコンパイルされていたモジュールのオブジェクト ID。 プラン ガイドがモジュールに適用されなかった場合、この列は NULL に設定されます。 22 はい
RequestID int ステートメントが含まれている要求の ID。 49 はい
ServerName nvarchar トレース対象の SQL Server のインスタンスの名前。 26 いいえ
SessionLoginName nvarchar セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Windows ログインの両方が表示されます。 64 はい
SPID int イベントが発生したセッションの ID。 12 はい
StartTime datetime イベントの開始時刻 (取得できた場合)。 14 はい
TextData ntext プラン ガイドの名前です。 1 はい
TransactionID bigint システムによって割り当てられたトランザクション ID。 4 はい
XactSequence bigint 現在のトランザクションを説明するトークン。 50 はい

参照

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)