DataBase  /  SQL Server  /  レポート取得ガイド

PART 06 — SSMS 標準レポートによる取得とセクション定義

SQL Server Management Studio(SSMS)には、T-SQL を記述せずにクリック操作だけで 性能情報を確認できる「標準レポート」と「Activity Monitor」が内蔵されています。 初期調査・管理者への報告・素早いボトルネック確認に最適です。 本記事では各レポートの開き方・セクション定義・読み方を体系的に整理します。

1. Activity Monitor — リアルタイムモニタリング

Activity Monitor は SQL Server のリアルタイム状況を 4 つのペインで表示します。
開き方: SSMS ツールバーの「Activity Monitor」アイコン、または オブジェクトエクスプローラーでサーバーを右クリック → 「Activity Monitor」

Overview(概要)ペイン — セクション定義

グラフ名説明Oracle AWR 対応
% Processor Time SQL Server プロセスが使用している CPU 使用率(%)の時系列グラフ。高値が続く場合は CPU バウンドなクエリを調査。 Host CPU
Waiting Tasks 現在待機中のタスク数。急増はリソース競合(ロック・I/O・メモリ)を示す。 Active Sessions Waiting
Database I/O データベース I/O(MB/sec)の時系列グラフ。読み書きの内訳も確認可能。 I/O Statistics
Batch Requests/sec SQL バッチの受信件数/秒。SQL Server のスループット指標。 Execute Count

Processes(プロセス)ペイン — セクション定義

列名説明
Session ID SPID。セッションの識別子
User 接続ユーザー名
Task State RUNNING(CPU 使用中)/ RUNNABLE(スケジュール待ち)/ SUSPENDED(リソース待機)
Wait Time (ms) 現在の待機時間(ミリ秒)
Wait Type 待機の種類(PAGEIOLATCH_SH, LCK_M_X など)
Wait Resource 待機しているリソース(ページ ID、オブジェクト ID など)
Blocked By このセッションをブロックしているセッション ID。0 はブロックなし
Head Blocker ブロッキングチェーンの根元のセッション ID
💡 セッションの詳細情報
Processes ペインで特定のセッションを右クリックすると 「詳細」「実行中の SQL の表示」「実行計画の表示」などのアクションが利用でき、 問題セッションのクエリと実行プランをその場で確認できます。

Resource Waits(リソース待機)ペイン — セクション定義

列名説明Oracle AWR 対応
Wait Category 待機カテゴリ(Network I/O, Memory, User I/O, Log, Lock など) Wait Class
Cumulative Wait Time (ms/sec) 前回のサンプリングからの累積待機時間(ms/sec) Total Wait Time
Recent Avg Wait (ms) 直近サンプリング期間の平均待機時間 Avg Wait
Average Waiter Count 平均的な待機タスク数

Data File I/O(データファイル I/O)ペイン — セクション定義

列名説明Oracle AWR 対応
Database データベース名 Tablespace
File Name データファイルの物理パス
Read Activity 読み取り I/O の MB/sec(棒グラフ表示) Physical Reads/sec
Write Activity 書き込み I/O の MB/sec(棒グラフ表示) Physical Writes/sec
Response Time (ms) I/O レスポンスタイム(ミリ秒) I/O Latency
⚠️ Activity Monitor のオーバーヘッド
Activity Monitor は既定で 10 秒ごとにリフレッシュされ、内部的に複数の DMV クエリを実行します。 高負荷な本番環境では、リフレッシュ間隔を延ばすか(右クリック → 「更新間隔の設定」)、 必要な時だけ開くようにしてください。

2. Performance Dashboard

Performance Dashboard は SSMS に内蔵されたレポートで、 現在のパフォーマンス状況をグラフと表で一覧表示します。

開き方: オブジェクトエクスプローラーでサーバーを右クリック → 「レポート」→ 「標準レポート」→ 「Performance Dashboard」

セクション名内容Oracle AWR 対応
CPU Utilization History SQL Server の CPU 使用率の時系列グラフ(約 256 分間) DB Time / CPU Time 推移
Waiting Tasks Summary 現在の待機タスクを wait_type 別に集計したリスト Top 5 Timed Events
Current Expensive Queries 現在実行中の高コストクエリを CPU・I/O 順にリスト(実行プランへのリンク付き) SQL ordered by CPU
Active Sessions 現在アクティブなセッション一覧(セッション ID・状態・待機種別など) Active Session History
IO Statistics データベースファイル別の I/O 統計(読み書き回数・レイテンシ) I/O Stat by Tablespace
Top Cached Queries プランキャッシュ内の高コストクエリ(CPU・読み取り・実行回数) SQL Statistics

3. サーバー標準レポート一覧

開き方: オブジェクトエクスプローラーでサーバーを右クリック → 「レポート」→「標準レポート」

All Blocking Transactions(すべてのブロッキングトランザクション)
Server → レポート → 標準レポート → All Blocking Transactions
現在のブロッキングチェーンをツリー形式で表示します。 ヘッドブロッカーのセッション ID・実行中の SQL・待機時間が一覧表示され、 ブロックされているセッションは子ノードとして表示されます。
Oracle AWR の Enqueue Statistics / ロック待機セクションに相当します。
All Locks(すべてのロック)
Server → レポート → 標準レポート → All Locks
現在保持・待機中のすべてのロックをオブジェクト・リソース別に表示します。 ロックモード(S/X/U/IS/IX/SIX)・リソース種別(DATABASE/OBJECT/PAGE/KEY/RID)が確認できます。
Transaction Performance Analysis(トランザクション性能分析)
Server → レポート → 標準レポート → Transaction Performance Analysis
現在のアクティブなトランザクションとその実行時間・ログ使用量を表示します。 長時間実行中のトランザクションの特定に役立ちます。 Oracle AWR の Undo Statistics / Active Session Historyに相当します。
Top Sessions(トップセッション)
Server → レポート → 標準レポート → Top Sessions
CPU 使用量・I/O・メモリ使用量の観点でリソースを多く消費しているセッション TOP N を表示します。
Memory Consumption(メモリ消費)
Server → レポート → 標準レポート → Memory Consumption
SQL Server のメモリ使用状況をコンポーネント別(Buffer Pool・Plan Cache・CLR など)に グラフとリストで表示します。Oracle AWR の SGA/PGA 統計に相当します。
Schema Changes History(スキーマ変更履歴)
Server → レポート → 標準レポート → Schema Changes History
デフォルトトレースに基づき、過去のスキーマ変更(CREATE/ALTER/DROP)の履歴を表示します。 インデックス追加などによるプラン変化の調査に活用できます。

4. データベース標準レポート一覧

開き方: オブジェクトエクスプローラーでデータベースを右クリック → 「レポート」→「標準レポート」

レポート名内容Oracle AWR 対応
Top Queries by Total CPU Time プランキャッシュ内でCPU 時間の合計が多い Top SQL リスト。クエリテキストと実行プランへのリンク付き。 SQL ordered by CPU Time
Top Queries by Total I/O プランキャッシュ内で論理 I/O の合計が多い Top SQL リスト。 SQL ordered by Gets
Top Queries by Total Executions 実行回数が多い Top SQL リスト。単純だが頻繁に実行される SQL の最適化に有効。 SQL ordered by Executions
Index Usage Statistics インデックスの使用状況(検索・スキャン・ルックアップ回数)と最終使用日時。未使用インデックスの特定に有効。 Segment Statistics
Index Physical Statistics インデックスの断片化率とページ数。断片化 > 30% が REBUILD の目安。
Missing Indexes クエリオプティマイザが「あれば有効」と判断したインデックスの候補リスト。影響度スコア付き。
Database Transaction Throughput トランザクション数・ログ書き込み量の時系列グラフ。 Instance Activity Statistics
Disk Usage by Table / Index テーブル・インデックスのデータ・インデックスサイズ使用量一覧。 Segment Statistics

5. Oracle AWR セクションとの対応まとめ

本シリーズ全体を振り返り、Oracle AWR の主要セクションと SQL Server の 5 つの取得方法の対応をまとめます。

Oracle AWR セクション DMV Query Store XE PerfMon SSMS
Top 5 Timed Events(待機イベント) ◎ dm_os_wait_stats ○ wait_stats ビュー ○ wait_info ○ Locks/Waits カウンタ ◎ Activity Monitor Resource Waits
SQL Statistics(重い SQL) ○ dm_exec_query_stats ◎ runtime_stats ○ sql_statement_completed ○ Performance Dashboard / DB レポート
I/O 統計 ◎ dm_io_virtual_file_stats ◎ PhysicalDisk / Databases ◎ Activity Monitor Data File I/O
メモリ / Buffer Pool ◎ dm_os_memory_clerks ◎ Buffer Manager / Memory Manager ○ Memory Consumption レポート
Lock / Enqueue 統計 ◎ dm_tran_locks ◎ blocked_process_report ○ Locks カウンタ ◎ All Blocking Transactions
デッドロック ◎ xml_deadlock_report ○ Deadlocks/sec
プラン統計 / 実行計画 ○ dm_exec_cached_plans ◎ query_store_plan ○ Performance Dashboard
ログ / Redo 統計 ○ dm_io_virtual_file_stats ◎ Databases カウンタ(Log Flush)
Latch 統計 ◎ dm_os_latch_stats ○ Latches カウンタ

◎ = 主要手段 / ○ = 利用可能 / △ = 限定的

調査フローの推奨
① SSMS Activity Monitor で現在の状況を素早く把握 → ② DMV で待機・ロック・I/O の累積統計を深掘り → ③ Query Store で特定クエリの経時変化を確認 → ④ Extended Events で再現・詳細トレースを実施 → ⑤ PerfMon で OS・SQL Server の長期傾向を検証