sp_query_store_force_plan (Transact-sql)sp_query_store_force_plan (Transact-SQL)

適用対象: ○SQL Server 2016 以降 ○Azure SQL Database XAzure Synapse Analytics (SQL DW) XParallel Data Warehouse APPLIES TO: yesSQL Server 2016 and later yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

特定のクエリに対して特定のプランを強制することができます。Enables forcing a particular plan for a particular query.

特定のクエリに対してプランが強制されるとSQL ServerSQL Server 、クエリが発生するたびに、クエリオプティマイザーでプランが強制的に実行されます。When a plan is forced for a particular query, every time SQL ServerSQL Server encounters the query, it tries to force the plan in the Query Optimizer. プランの強制に失敗した場合は、拡張イベントが発生し、通常の方法で最適化するようにクエリオプティマイザーに指示されます。If plan forcing fails, an Extended Event is fired and the Query Optimizer is instructed to optimize in the normal way.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions


sp_query_store_force_plan [ @query_id = ] query_id , [ @plan_id = ] plan_id [;]  


[ @query_id = ] query_idクエリの id を示します。[ @query_id = ] query_id Is the id of the query. query_idbigint,、既定値はありません。query_id is a bigint, with no default.

[ @plan_id = ] plan_id強制されるクエリプランの id を指定します。[ @plan_id = ] plan_id Is the id of the query plan to be forced. plan_idbigint,、既定値はありません。plan_id is a bigint, with no default.

リターン コードの値Return Code Values

0 (成功) または 1 (失敗)0 (success) or 1 (failure)



データベースに対するALTER権限が必要です。Requires the ALTER permission on the database.


次の例では、クエリストア内のクエリに関する情報を返します。The following example returns information about the queries in the query store.

SELECT Txt.query_text_id, Txt.query_sql_text, Pl.plan_id, Qry.*  
FROM sys.query_store_plan AS Pl  
JOIN sys.query_store_query AS Qry  
    ON Pl.query_id = Qry.query_id  
JOIN sys.query_store_query_text AS Txt  
    ON Qry.query_text_id = Txt.query_text_id ;  

強制する query_id と plan_id を特定した後、次の例を使用して、クエリでプランを使用するように強制します。After you identify the query_id and plan_id that you want to force, use the following example to force the query to use a plan.

EXEC sp_query_store_force_plan 3, 3;  

参照See Also

sp_query_store_remove_plan (Transct-SQL) sp_query_store_remove_plan (Transct-SQL)
sp_query_store_remove_query (Transact-sql) sp_query_store_remove_query (Transact-SQL)
sp_query_store_unforce_plan (Transact-sql) sp_query_store_unforce_plan (Transact-SQL)
クエリストアカタログビュー (Transact-sql) Query Store Catalog Views (Transact-SQL)
クエリストアを使用したパフォーマンスの監視 Monitoring Performance by using the Query Store
sp_query_store_reset_exec_stats (Transact-sql) sp_query_store_reset_exec_stats (Transact-SQL)
sp_query_store_flush_db (Transact-sql) sp_query_store_flush_db (Transact-SQL)
クエリ ストアを使用する際の推奨事項Best Practice with the Query Store