次の方法で共有


sp_query_store_unforce_plan (Transact-SQL)

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL DatabaseAzure SQL Managed Instance

クエリ ストア内の特定のクエリに対して以前に強制されたプランを適用解除できるようにします。

Transact-SQL 構文表記規則

構文

sp_query_store_unforce_plan
    [ @query_id = ] query_id ,
    [ @plan_id = ] plan_id ,
    [ @force_plan_scope = ] 'replica_group_id'
[ ; ]

引数

大事な

拡張ストアド プロシージャの引数は、「構文の」セクションで説明されているように、特定の順序で入力する必要があります。 パラメーターが順に入力されていない場合は、エラー メッセージが表示されます。

[ @query_id = ] query_id

クエリの ID。 @query_idbigint で、既定値はありません。

[ @plan_id = ] plan_id

適用されなくなったクエリ プランの ID。 @plan_idbigint で、既定値はありません。

[ @force_plan_scope = ] 'replica_group_id'

セカンダリ レプリカのクエリ ストアを が有効になっている場合は、セカンダリ レプリカのプランの強制を解除できます。 プライマリ レプリカで sp_query_store_force_plansp_query_store_unforce_plan を実行します。 @force_plan_scope 引数を使用すると、コマンドが実行されているローカル レプリカが既定で使用されますが、sys.query_store_plan_forcing_locations システム カタログ ビューを参照する replica_group_id を指定できます。

リターン コードの値

0 (成功) または 1 (失敗)。

アクセス許可

データベースに対する ALTER 権限が必要です。

次の例では、クエリ ストア内のクエリに関する情報を返します。

SELECT txt.query_text_id,
    txt.query_sql_text,
    pl.plan_id,
    qry.*
FROM sys.query_store_plan AS pl
INNER JOIN sys.query_store_query AS qry
    ON pl.query_id = qry.query_id
INNER JOIN sys.query_store_query_text AS txt
    ON qry.query_text_id = txt.query_text_id;

強制を解除する query_idplan_id を特定したら、次の例を使用してプランを強制解除します。

EXEC sp_query_store_unforce_plan 3, 3;