Contents
以前、Spotlight on SQL Server で SQL Azure に接続 という投稿をしました。
Spotlight On SQL Server は SQL Server の状態をグラフィカルに監視できるソフトになります。
オンプレミスの SQL Server の場合は以下のような情報を監視できます。
SQL Azure の監視もできるのですが、オンプレミスと異なり OS の観点では確認することはできません。
また、SQL Azure の情報はパフォーマンスモニタ系の DMV が提供されていないため、かなり限定されたものになっています。
Playback 機能もついているので、過去の情報を確認することも可能です。
# データコレクションより細かな情報を確認できると思います。
この Spotlight on SQL Server を使ってどのような情報が確認できるのかまとめてみたいと思います。
■取得可能な情報
オンプレミスの SQL Server では、[sys.dm_os_performance_counters] の DMV を参照することで、パフォーマンスモニタの情報にクエリ経由でアクセスすることが可能ですが、SQL Azure ではこの DMV が提供されていません。
そのため、オンプレミスの SQL Server の監視と比較すると取得できる項目が限られています。
Spotlight On SQL Server では以下の情報を取得することが可能です。
Home | Sessions | Response Time (ms) |
Connections | ||
Computers | ||
Active | ||
Sessions ←→ System | Packets Read per Second | |
Packets Written per Second | ||
System | SQL Azure Version | |
Status (SQL Azure Alerms) | ||
SQL Process | Total (Total Sessions) | |
System | ||
User | ||
SQL Process ←→ Data Storage | Logical (Logical Read/sec) | |
Physical (Physical Read/sec) | ||
Writes/sec | ||
Data Storage | Available (Database Size) | |
Used (Reserved Table Space) | ||
Percent (Database Percent Used) |
[SQL Activity]
SQL Activity | Sessions | SPID |
SQL User | ||
Status | ||
Blocked By | ||
Last Command | ||
Memory | ||
CPU | ||
I/O | ||
Logical Reads | ||
Reads | ||
Writes | ||
Total CPU | ||
Total I/O | ||
Total Logical Reads | ||
Total Reads | ||
Total Writes | ||
Current Wait Time (ms) | ||
Last Wait Type | ||
Last Wait Resource | ||
Last Batch Time | ||
Time Since Last Batch | ||
Tran Count | ||
Program | ||
Host Name | ||
Host Process | ||
Net Library | ||
Login TIme | ||
Request ID | ||
SQL | ||
Plan | ||
Session Locks | Lock Type | |
Mode | ||
Status | ||
Count | ||
Login Name | ||
Entity ID |
Databases | Summary | Used MB |
Free MB | ||
Tables | Table Name | |
Owner | ||
Rows | ||
Reserved MB | ||
Used MB | ||
Free MB | ||
Pct DB | ||
Reserved Pages | ||
Used Pages | ||
Table Growth | ||
Indexes | Owner | |
Table | ||
Index | ||
Type | ||
Fill Factor | ||
Rows | ||
Size MB |
以上が、Spotlight on SQL Server を使用して確認できる SQL Azure の情報になります。
Spotlight の接続ですが DB 単位で接続をしているため、SQL Azure 上に複数の DB を作成している場合は、Connection Manager から複数の DB に対しての接続を作成しておく必要があります。
# オンプレミスの SQL Server の場合は一つの接続で複数の DB の情報を取得可能です。
■どこから情報を取得している?
Spotlight on SQL Server で取得している SQL Azure の情報ですが、以下の DMV から情報を取得しているようです。
- sys.dm_exec_connections
- sys.dm_exec_sessions
- sys.dm_exec_query_plan
- sys.dm_exec_requests
- sys.dm_exec_sql_text
- sys.dm_db_partition_stats
- sys.dm_tran_locks
SQL Azure で閲覧可能な DMV を組み合わせて情報を生成しているようですね。
Home の Response Time に関しては定期的に [SELECT 1] を実行してその応答時間を表示しているようです。
製品で表示している情報をどうやって取得しているかを考えるのは結構面白いですね~。
Spotlight On SQL Server は個人的に思い入れのある製品なので今後もちょいちょい触っていきたいと思います。