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

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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

このトピックの内容

はじめに

セキュリティ

アクセス許可

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

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 ステートメントをプラン ガイドに一致させるためのコンテキストを指定します。 選択できる値は、 OBJECTSQL、および TEMPLATEです。

    ステートメント
    プラン ガイドが適用される Transact-SQL ステートメントを表示します。

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

Transact-SQL の使用

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

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

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

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

    -- 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)」を参照してください。