このドキュメントではSQLServer 2008以降でストアドプロシージャのデバッグを行う方法について説明する。
手順
1. Microsoft SQL Server Management Studioでストアドプロシージャを右クリックする。
2. [ストアドプロシージャをスクリプト化]⇒[EXECUTE]⇒新しいクエリーエディターウィンドウ
3 以下のようなスクリプトが生成される
USE [Sample001]
GO
DECLARE @RC int
DECLARE @from int
DECLARE @to int
-- 方法: パラメーター値をここに指定します。
EXECUTE @RC = [dbo].[test_sp]
@from
,@to
GO
4. テスト用のパラメータを入力する
-- 方法: パラメーター値をここに指定します。
SET @from = 10
SET @to = 200
5. スクリプトにブレークポイントを張る
6.「デバッグ」⇒「開始」を選択
ALT+F5:次のブレークまで実行
F10:ステップオーバ... 次の行を実行。次が別のストアドの場合、ストアドの中には入らない
F11:ステップイン...次の行を実行。次が別のストアドならストアドの中に入る。
注意
・リモート側またはクライアント側がHomeEditionの場合はWindows認証が上手くいかずに、デバッグが実行できない可能性がある。
T-SQLデバッグを開始できません。コンピュータ'XXXX'に接続できませんでした。Visual Studio リモート デバッガーは、このWindowsエディションをサポートしていません。
この原因はリモートデバッグにWindows認証が必要で、HomeEditionにはそれがふくまれていないため。
http://social.msdn.microsoft.com/Forums/vstudio/en-US/77689d96-dc35-4a10-96e8-a0f98b33901c/visual-studio-2008-remote-debugging-and-windows-xp-sp2-home-edition?forum=vsdebug
・上記のエラーが発生した場合で、SQLSERVERのあるマシンにMicrosoft SQL Server Management Studioを入れているのなら「localhost\SQLEXPRESS」というようにlocalhostと明示しておけばデバッグが可能。
・SQLSERVER2005以前に対しては、Microsoft SQL Server Management Studioからはデバッグできない。VisualStudio 2008 Professionalのサーバ接続のウィンドウで接続してデバッグする必要がある。