プラン ガイド プロパティの表示

SQL Server 2012 のプラン ガイドのプロパティは、SQL Server Management Studio または Transact-SQL を使用して表示できます。

このトピックの内容

  • 作業を開始する準備:

    セキュリティ

  • 以下を使用してプラン ガイドのプロパティを表示するには:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

セキュリティ

権限

カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

プラン ガイドのプロパティを表示するには

  1. プラス記号をクリックして、プロパティを表示するプラン ガイドのあるデータベースを展開し、プラス記号をクリックして [プログラミング] フォルダーを展開します。

  2. プラス記号をクリックして [プラン ガイド] フォルダーを展開します。

  3. プロパティを表示するプラン ガイドを右クリックし、[プロパティ] を選択します。

    [プラン ガイドのプロパティ] ダイアログ ボックスに次のプロパティが表示されます。

    • [ヒント]
      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 ステートメントが表示されます。

  4. [OK] をクリックします。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

プラン ガイドのプロパティを表示するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    -- If a plan guide named “Guide1” already exists in the AdventureWorks2012 database, delete it.
    USE AdventureWorks2012;
    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)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]