Instiq
第3章 · データベースリソースの監視・構成・最適化·v2.0.0·更新 2026/6/3·読了目安 約9分

変更要約: DP-300 第3章を深掘り(図ja化・比較表/シナリオ/FAQ/ひっかけ/深掘り段落を全節に追加)

3.1監視とパフォーマンスの可視化

この節の要点

Azure SQL の監視——メトリック(DTU/CPU/IO)Azure Monitor / Log AnalyticsQuery Store動的管理ビュー(DMV)——でパフォーマンスのボトルネックを見つける方法を理解します。

最適化はまず計測(どこが遅いか)から始まります。Azure SQL はメトリックや Query Store、DMV でパフォーマンスを可視化します。

3.1.1監視の手段

Azure SQL の監視手段を並べた図。メトリック(DTU/CPU/IO 使用率・Azure Monitor で可視化、アラート発報)、Query Store(クエリの実行履歴/実行プラン/リグレッション検出)、動的管理ビュー DMV(待機統計やブロッキング等の内部状態)、診断ログを Log Analytics へ送り KQL で分析、という流れを示す。
Azure SQL の監視手段
  • メトリックDTU/CPU/IO の使用率などを Azure Monitor で可視化し、しきい値でアラートを出す。
  • Query Store:クエリの実行履歴・実行プランを記録し、リグレッション(劣化)検出に使う。
  • 動的管理ビュー(DMV)待機統計・ブロッキングなど内部状態を SQL で参照する。
  • 診断ログ:Log Analytics に送り KQL で分析・長期保持する。
試験ポイント

「クエリの履歴/プラン/劣化検出=Query Store」「DTU/CPU/IO の可視化とアラート=メトリック+Azure Monitor」「待機統計やブロッキング=DMV」「ログを KQL 分析=Log Analytics」 は DP-300 で頻出です。まず計測してボトルネックを特定します。

コツ

パフォーマンス劣化の原因特定には、Query Store で「以前は速かったが遅くなったクエリ」を探し、プランの変化を比較するのが有効です。

監視は「リソース」と「クエリ」の両面で見ます。リソース面は メトリック(DTU%・CPU%・データ/ログ IO・ワーカー/セッション・デッドロック)を Azure Monitor で可視化し、しきい値 アラートアクショングループ で通知。診断ログ(QueryStoreRuntimeStatistics・Errors・Blocks など)は 診断設定 で Log Analytics に送り KQL で深掘りします。クエリ面は Query Store が実行プラン・ランタイム統計・待機統計(wait stats) をデータベース内に保持し、「リグレッションしたクエリ」「最もリソースを消費するクエリ」を可視化、必要なら プラン強制(plan forcing) で安定化します。リアルタイムの内部状態は DMVsys.dm_exec_requestssys.dm_os_wait_statssys.dm_db_index_usage_stats 等)で確認し、待機タイプから CPU・IO・ロック競合などの原因を切り分けます。ポータルの Intelligent InsightsDatabase/Query Performance Insight は要点を自動で示します。「まず計測→原因(待機/プラン/インデックス)特定→改善」の順序が鉄則です。

見たいもの使う手段
リソース使用率の傾向/通知メトリック+Azure MonitorDTU%/CPU% のしきい値アラート
クエリの履歴/プラン/劣化Query Store遅くなったクエリのプラン比較
今この瞬間の内部状態DMV待機統計・ブロッキング連鎖
ログの横断分析/長期保持Log Analytics(KQL)診断ログを KQL で集計
補足

シナリオ: 「先週まで速かったレポートが急に遅い」と報告された。→ Query Store で対象クエリの実行プラン履歴を開き、プランが変わった時点を特定。良かったプランに plan forcing して即時安定化し、根本原因(統計の陳腐化やインデックス不足)を DMV/実行プランで確認して恒久対処します。

補足

FAQ: Q. Query Store と DMV はどう使い分ける? → A. Query Store は履歴・プラン・劣化の経時分析、DMV は「今この瞬間」の待機/ブロッキング等のライブ状態に向きます。Q. 待機統計は何に使う? → A. CPU・IO・ロックなどどこで待っているかを示し、ボトルネックの種類を切り分けるのに使います。

注意

ひっかけ: 「過去にさかのぼってクエリのプラン変化を分析するのに DMV を使う」は誤りです。経時のプラン履歴/劣化分析は Query Store。DMV は基本「今この瞬間」の状態(再起動でリセットされるものも)。また「CPU 高騰=必ずインデックス不足」も誤り(待機統計で IO・ロック等を切り分ける)。

3.1.2この節のまとめ

  • 監視=メトリック/Azure Monitor・Query Store・DMV・Log Analytics
  • まず計測してボトルネックを特定

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. クエリの実行履歴や実行プランを記録し、性能劣化(リグレッション)の特定に使える Azure SQL の機能はどれですか?

Q2. DTU/CPU/IO の使用率を可視化し、しきい値超過でアラートを出したい。何を使いますか?

Q3. 待機統計やブロッキングなどデータベースの内部状態を SQL で参照したい。何を使いますか?

理解度を確認第3章「データベースリソースの監視・構成・最適化」の問題を解く