SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Codeplex の Internals Viewer for SQL Server を使ってみる

leave a comment

昨日、facebook で少し話題になり、今の対応状況はどうなっているのだろうと思って調べてみました。

Internals Viewer for SQL Server は Codeplex で公開されているツールで、その名の通り SQL Server のページ情報やトランザクションログの内部情報を見るためのツールです。
複数のクエリや内部でチェックポイントを手動で実行したりしているようなので、本番環境での利用はおすすめできませんが、SQL Server のデータの格納方法を検証環境を使用して勉強するためには便利です。

以前は、Internals Viewer for SQL Server で公開されており、こちらは SQL Server 2005 / 2008 の SSMS 向けのものとなっていました。

現在は、Internals Viewer (updated) for SQL Server 2008 R2 で SQL Server 2008 R2 の SSMS に対応したものが公開されています。
2012 の SSMS には未対応のようですが、2008 R2 の SSMS から 2012 に接続をすれば使用することができます。

機能としてはテーブルやインデックスのオブジェクトのページの割り当て状況を見る Allocation Map のビューワーとクエリ実行時のトランザクションログの内容を表示する、Transaction Log のビューワーがあります。

imageimage

Allocation Map は

DBCC PAGE(6,1,157,2) WITH TABLERESULTS

のようなページ情報を取得する DBCC コマンドを実行して、ページの属性等の詳細情報を取得し、マップに情報を出力しているようです。

マップから対象のページを選択すると Page Viewer という形で特定のページ情報だけを表示することができます。

GAM / SGAM のような System Allocation Page にもリンクがされているので、内部的なページの割り当て状態も確認することができます。

image

Display Transaction Log を有効にした状態でクエリを実行すると、クエリ実行時にトランザクションログの内容が表示されます。

image

こちらは、fn_dblog をトランザクション ID で検索して、該当のトランザクションのログを表示するということをしているようですね。

SSMS に統合できるアドインでここまでいろいろなことができるのは面白いですね。

Share

Written by Masayuki.Ozawa

9月 19th, 2013 at 8:25 am

Posted in SQL Server

Tagged with

Leave a Reply