デバッグに便利! SQL Server プロファイラの使い方
SQL Server Profiler とは
SQL Server プロファイラは SQL Server の管理ツールのひとつで、トレースを取得したり、分析したりできるツールです。
残念ながら SQL Server 2016 より後のバージョンでは廃止されるそうですが、とても便利なツールでまだまだ使えると思いますので、簡単なトレースのキャプチャー方法を載せておきます。
今回はクライアントプログラムからストアードプロシージャを実行した時のトレースをキャプチャーしてみましょう。
SQL Server Profiler がなくなってしまった後はこちらをご覧ください。
「 トレースツールは SQL Server Profiler から Extended Events (拡張イベント)へ 」
SQL Server プロファイラを起動する
SQL Server Profiler を起動する方法は何通りもあって、アクティビティモニターや SQL Server Management Studio からも右クリックで起動できますが、今回は Windows のスタートメニューから起動します。
SQL Server プロファイラは、以下のような感じで Windows のスタートメニューの各 SQL Server のフォルダの下の [パフォーマンスツール] フォルダの下に入っているはずです。
SQL Server Profiler は Express エディションには入っていませんので、Developer エディション等にアップグレードするか、Developer エディション等を別インスタンスとしてインストールしてください。
もし SQL Server Profiler がインストールされていない場合は、Windows のスタートメニューの各 SQL Server のフォルダの下の [構成ツール] > [SQL Server インストールセンター] を立ち上げ、SQL Server インストールウィザードの [機能の選択] 画面まできて [共有機能] の [管理ツール - 基本] と [管理ツール - 完全] にチェックを入れてインストールしてください。
SQL Server Profiler が立ち上がったら、メニューの [ファイル] > [新しいトレース] をクリックします。
データベースへの接続画面が表示されるので、接続したいデータベースエンジンに接続します。
トレースのプロパティの画面が表示されるので、デフォルトのテンプレートのまま [実行] をクリックします。
トレースのキャプチャーが始まるので、エラーが起こっているストアドプロシジャーを呼ぶ処理をクライアントプログラムから実行し、ストップボタンをクリックしてトレースのキャプチャを停止します。
今回は学生の情報を挿入している箇所でエラーが出ているとします。
メニューの [編集] > [検索] などを使って、お目当てのデータを探します。
このように、実際にデータベースに対して実行されたスクリプトを取得することができ、エラーの原因をつきとめるのに役立ちますね。