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

適用対象: SQL Server Azure SQL Database Azure 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)」を参照してください。