SQLServerでスクリプトのデバッグを行う

Table of Content

このドキュメントでは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. スクリプトにブレークポイントを張る
sql.png

6.「デバッグ」⇒「開始」を選択
ALT+F5:次のブレークまで実行
F10:ステップオーバ... 次の行を実行。次が別のストアドの場合、ストアドの中には入らない
F11:ステップイン...次の行を実行。次が別のストアドならストアドの中に入る。
sql.png

注意

・リモート側またはクライアント側がHomeEditionの場合はWindows認証が上手くいかずに、デバッグが実行できない可能性がある。

sql.png

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のサーバ接続のウィンドウで接続してデバッグする必要がある。