sys.query_store_plan_forcing_locations(Transact-SQL)

適用対象: SQL Server 2025 (17.x) Azure SQL Database

sp_query_store_force_planを使ったことで強制されるクエリ ストアプランに関する情報が含まれています。 この情報を用いて、どのクエリがデータベースの読み書きレプリカ(プライマリ)に強制されているのか、または1つ以上の読み取り専用レプリカに割り当てられているのかを判断します。

列名 データ型 説明
plan_forcing_location_id bigint このプランの強制場所のシステム割り当て ID。
query_id bigint sys.query_store_queryのquery_id参照
plan_id bigint sys.query_store_plan内のplan_id参照
replica_group_id bigint force_plan_scopeのパラメーター から。 sys.query_store_replicasのreplica_group_id参照
timestamp datetime 計画強制操作が適用されたUTC日時。
plan_forcing_type int 計画強制のタイプ。

0 = NONE
1 = MANUAL
2 = AUTO
plan_forcing_type_desc nvarchar(60) plan_forcing_typeのテキストの説明。

NONE: プラン強制なし
MANUAL:ユーザーによって強制された計画
AUTO:自動調整による計画

アクセス許可

VIEW DATABASE STATE アクセス許可が必要です。

SQL Server 2022 以降でのアクセス許可

データベースに対する VIEW DATABASE PERFORMANCE STATE 権限が必要です。

例

sys.query_store_plan_forcing_locationsをsys.query_store_replicasと組み合わせて、強制されたトップ20 クエリ ストアプランを取り戻します。

SELECT TOP (20)
    pfl.query_id,
    pfl.plan_id,
    CASE qsr.replica_group_id
        WHEN 1 THEN 'PRIMARY'
        WHEN 2 THEN 'SECONDARY'
        WHEN 3 THEN 'GEO SECONDARY'
        WHEN 4 THEN 'GEO HA SECONDARY'
        ELSE CONCAT('REPLICA_', qsr.replica_group_id)
    END AS replica_type,
    pfl.[timestamp],
    pfl.plan_forcing_type_desc
FROM sys.query_store_plan_forcing_locations AS pfl
INNER JOIN sys.query_store_replicas AS qsr
    ON qsr.replica_group_id = pfl.replica_group_id
ORDER BY pfl.[timestamp] DESC;