33
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
33
Help us understand the problem. What are the problem?