DP300-MON#66
Azure SQL Database で Query Store を 有効化 + 設定 → クエリ 性能後退 を発見し Plan Forcing で対処する手順を順序通りに並べてください。
- Query Store を ALTER DATABASE で 有効化
- SSMS の 「Top Resource Consuming Queries」で問題クエリを 特定
- 「Regressed Queries」で 性能後退を 確認 + 過去の 良い Plan を 選択
- sp_query_store_force_plan で Plan を Force
解説
【正しい順序】
- ステップ 1: Query Store を ALTER DATABASE で 有効化
- ステップ 2: SSMS の 「Top Resource Consuming Queries」で問題クエリを 特定
- ステップ 3: 「Regressed Queries」で 性能後退を 確認 + 過去の 良い Plan を 選択
- ステップ 4: sp_query_store_force_plan で Plan を Force
【各ステップの理由】
- ステップ 1 Query Store を ALTER DATABASE で 有効化: ALTER DATABASE
db1SET QUERY_STORE = ON で Query Store を 有効化し クエリ実行履歴の収集を開始します。 - ステップ 2 SSMS の 「Top Resource Consuming Queries」で問題クエリを 特定: SSMS の Query Store ノード の 「Top Resource Consuming Queries」で CPU / Duration / IO 等の Top クエリを 特定し ボトルネック を 発見 します。
- ステップ 3 「Regressed Queries」で 性能後退を 確認 + 過去の 良い Plan を 選択: 「Regressed Queries」ビュー で 急激に性能 後退 したクエリ を 特定し 過去の 良い Plan を Plan Summary で 確認 します。
- ステップ 4 sp_query_store_force_plan で Plan を Force: EXEC sp_query_store_force_plan @query_id = N, @plan_id = M で 過去の 良い Plan を 強制 し Plan Regression を 即時 対処 します。
【誤った順序の問題点】
- Plan Force → Query Store 有効化: Query Store なしでは Plan ID が取得できず Force できません。
- Regressed Queries → Top Queries: Top Queries で全体把握後 Regressed で 後退 特定 が標準フローです。

コメント