sp_query_store_unforce_plan (Transact-SQL)
適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Database Azure SQL Managed Instance
クエリ ストア内の特定のクエリに対して以前に強制されたプランを適用解除できるようにします。
構文
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_id は bigint で、既定値はありません。
[ @plan_id = ] plan_id
適用されなくなったクエリ プランの ID。 @plan_id は bigint で、既定値はありません。
[ @force_plan_scope = ] 'replica_group_id'
セカンダリ レプリカのクエリ ストアが有効になっている場合はセカンダリ レプリカに対してプランを強制的に適用および適用解除できます。 セカンダリ レプリカで sp_query_store_force_plan
と sp_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_id と plan_id を特定したら、次の例を使用してプランを強制解除します。
EXEC sp_query_store_unforce_plan 3, 3;
関連するコンテンツ
- sys.query_store_replicas (Transact-SQL)
- sys.query_store_plan_forcing_locations (Transact-SQL)
- sp_query_store_force_plan (Transact-SQL)
- sp_query_store_remove_plan (Transact-SQL)
- sp_query_store_remove_query (Transact-SQL)
- sp_query_store_reset_exec_stats (Transact-SQL)
- sp_query_store_flush_db (Transact-SQL)
- クエリ ストアのカタログ ビュー (Transact-SQL)
- クエリ ストアを使用したパフォーマンスの監視
- クエリ ストアを使用する際の推奨事項