.NET TIPS SQL Server 2005 Express Editionに発行されたSQL文をトレースするには?デジタルアドバンテージ 岸本 真二郎2008/05/22 |
|
SQL Server 2005 Express Editionは、アプリケーション開発時や小規模なアプリケーション向けに無償で利用できる便利なデータベースである。管理ツールも用意されており、一通りの作業は行えるのだがプロファイラ(SQL Server Profiler)が付属していない。そこで本TIPSでは、SQL Server 2005 Express Editionで利用できるオープンソースのプロファイラを紹介しよう。
プロファイラとは?
プロファイラとは、一般的にはプログラム実行時のさまざまな情報を収集するツールである。SQL Server 2005 Standard Edition以上で提供されているプロファイラ(SQL Server Profiler)は、SQL Serverのインスタンスで発生するイベントを収集して表示する。
アプリケーション開発の場面では、アプリケーションがSQL Serverに対して実行したクエリ(SQL文)の内容を確認するのに用いることが多いだろう。直接クエリを実行する場合でも、ストアド・プロシージャを実行する場合でも、プロファイラを用いることで、実際にどのようなクエリが実行されたかをトレースできる。クエリの確認以外でも、SQL Serverにログインしたアプリケーション、ユーザーなどを確認することも可能だ。
オープンソースのプロファイラ
今回紹介するSQL Server 2005 Express Profilerは、Google Codeからダウンロードできる。オフィシャルWebサイトには特にこれといった情報はないのだが、これは「使ってみれば分かる」ということなのだろう。
SQL Server 2005 Express Profilerを使用するには、上述のサイトから.ZIPファイルをダウンロードして任意の場所に展開するだけで、これといったインストール作業は不要だ。展開すると、いくつかの.DLLファイルとともに「SqlExpressProfiler.exe」という.EXEファイルが見つかるので、それをダブルクリックする。これによりSQL Server 2005 Express Profilerが起動する。
SQL Server 2005 Express ProfilerによるSQL実行のトレース
SQL Server 2005 Express Profilerが起動すると空白のウィンドウが表示される。ここでツールバーのドキュメント風のアイコン をクリックすると新規のトレースを作成するための[Trace Properties]ダイアログが開く。[Trace Properties]ダイアログでは、次の画面のように、まず[General]タブで接続するデータベースを指定し、次に[Events]タブでトレースを行うイベントを指定する。さらに[Filters]タブでトレース内容を絞り込むフィルタを指定できる。
[Trace Properties]ダイアログの[General]タブでにおけるデータベースの指定 |
[Trace Properties]ダイアログの[Events]タブでにおけるイベントの指定 |
ここで悩むのが、「どのイベントを監視すればいいのか?」という点だろう。開発中のアプリケーションから実行されるクエリ(SQL文)の内容を確認したい場合は、[Events]タブで「SQLStmtStarting」と「SQLStmtCompleted」をチェックしておけばよい。また、[Filters]タブで「ApplicationName」に確認したいアプリケーション名を設定しておくと、余計なイベントを表示しなくて済む。
以上の設定が完了したら、[Trace Properties]ダイアログの[Run]ボタンをクリックしよう。すると、[Trace Properties]ダイアログが閉じられ、SQL Server 2005 Express Profilerにトレース状況が表示される。次の画面はその例だ。
SQL Server 2005 Express Profilerに表示されるトレースの結果 |
[Trace Properties]ダイアログの[Events]タブで指定するイベントについては、MSDNの「SQL Server イベント クラスの参照」を参考にしてほしい。
カテゴリ:データベース 処理対象:SQL Server 2005 |
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|