プラン ガイド プロパティの表示
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
SQL Server Management Studio または Transact-SQL を使用し、SQL Server でプラン ガイドのプロパティを表示する方法について説明します
このトピックの内容
作業を開始する準備:
以下を使用してプラン ガイドのプロパティを表示するには:
始める前に
セキュリティ
アクセス許可
カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。
SQL Server Management Studio を使用する
プラン ガイドのプロパティを表示するには
プラス記号をクリックして、プロパティを表示するプラン ガイドのあるデータベースを展開し、プラス記号をクリックして [プログラミング] フォルダーを展開します。
プラス記号をクリックして [プラン ガイド] フォルダーを展開します。
プロパティを表示するプラン ガイドを右クリックし、 [プロパティ]を選択します。
[プラン ガイドのプロパティ] ダイアログ ボックスに次のプロパティが表示されます。
[ヒント]
Transact-SQL ステートメントに適用されるクエリ ヒントまたはクエリ プランが表示されます。 クエリ プランがヒントとして指定されている場合は、そのプランの XML プラン表示出力が表示されます。[無効化]
プラン ガイドの状態が表示されます。 指定できる値は、 [True] および [False]です。名前
プラン ガイドの名前が表示されます。パラメーター
スコープの種類が SQL または TEMPLATE の場合は、 Transact-SQL ステートメントに埋め込まれているすべてのパラメーターの名前とデータ型が表示されます。[スコープ バッチ]
Transact-SQL ステートメントを含むバッチ テキストが表示されます。[スコープ オブジェクト名]
スコープの種類が OBJECT の場合は、 Transact-SQL ステートメントを含む Transact-SQL ストアド プロシージャ、ユーザー定義スカラー関数、複数ステートメントのテーブル値関数、または DML トリガーの名前が表示されます。[スコープ スキーマ名]
スコープの種類が OBJECT の場合は、そのオブジェクトを含むスキーマの名前が表示されます。[スコープの種類]
Transact-SQL ステートメントを含むエンティティの種類が表示されます。 これは Transact-SQL ステートメントとプラン ガイドを照合するコンテキストを示します。 選択できる値は、 OBJECT、 SQL、および TEMPLATEです。ステートメント
プラン ガイドの適用対象の Transact-SQL ステートメントが表示されます。OK をクリックします。
Transact-SQL の使用
プラン ガイドのプロパティを表示するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
-- If a plan guide named "Guide1" already exists in the AdventureWorks2022 database, delete it. USE AdventureWorks2022; GO IF OBJECT_ID(N'Guide1') IS NOT NULL EXEC sp_control_plan_guide N'DROP', N'Guide1'; GO -- creates a plan guide named Guide1 based on a SQL statement EXEC sp_create_plan_guide @name = N'Guide1', @stmt = N'SELECT TOP 1 * FROM Sales.SalesOrderHeader ORDER BY OrderDate DESC', @type = N'SQL', @module_or_batch = NULL, @params = NULL, @hints = N'OPTION (MAXDOP 1)'; GO -- Gets the name, created date, and all other relevant property information on the plan guide created above. SELECT name AS plan_guide_name, create_date, query_text, scope_type_desc, OBJECT_NAME(scope_object_id) AS scope_object_name, scope_batch, parameters, hints, is_disabled FROM sys.plan_guides WHERE name = N'Guide1'; GO
詳細については、「sys.plan_guides (Transact-SQL)」を参照してください。