前回はデータベースの配置と大きさを動的管理ビューを通じて確認しました。
ファイル配置 | データベースを構成するファイル(データファイルとトランザクションログファイル)が配置されたボリュームとファイルパスを確認します。 | |
大きさ | ファイルサイズ | データベースを構成するファイル(データファイルとトランザクションログファイル)のファイルサイズを確認します。このファイルサイズとは、ファイルのプロパティから確認できる”サイズ”に等しくなります。 |
実データサイズ |
データベースを構成するファイル(データファイルとトランザクションログファイル)は将来見込まれる大きさで作成します。このようにあらかじめ大きく確保されたファイルの中でデータベースが実際に使用している領域のサイズを実データサイズとして確認します。 | |
レコード件数 | データベースに作成されたテーブルのレコード件数を確認します。 |
実際の運用では、動的管理ビューへ定期的にアクセスし監視を行うケースが挙げられますが、それには若干の作りこみが必要となるため、OSが標準装備しているパフォーマンスカウンタを通じて、例えば論理ディスクの空き容量やデータベースを構成するファイルのサイズなどを監視されているケースは多いのではないでしょうか。
オブジェクト | カウンタ | 解説 |
LogicalDisk | % Free Space | 論理ディスクの空き領域の割合 |
Free Megabytes | 論理ディスクの空き領域のサイズ | |
SQL Server:Databases | Data File(s) Size (KB) | データファイルのサイズ |
Log File(s) Size (KB) | トランザクションログファイルのサイズ |
しかし、データベースのファイルは将来見込まれる大きさで作成する(大きなファイルとしてあらかじめ確保する)ことが性能の観点で重要であるため、そうすると本来監視すべきは、論理ディスクの空きやOSから見えるファイルのサイズではなく、そのファイルの中の記録済みのデータサイズ(実データサイズ)の大きさということになります。ですが、パフォーマンスカウンタにはこれに該当するカウンタがありません!
そこで、今回は前回の後編として「実データサイズの割合をパフォーマンスカウンタから監視する方法」を紹介します。加えて、トランザクションログファイルについては実データサイズのほかに監視項目として欠かせない「仮想ログファイル(VLF)の監視」、さらにその仮想ログファイルの理解の補足として、「トランザクションログファイルのアーキテクチャ」の計3点を解説します。
なお、紹介する実行例はSQL Server 2017 on Windows Server 2016環境での実行結果になります。お使いの環境によって相違がでる可能性に留意ください。