適用対象: 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 = NONE1 = MANUAL2 = 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;