Share via


Transact-SQL デバッガーの実行

Transact-SQL デバッガーは、データベース エンジン クエリ エディター ウィンドウを開いた後に起動できます。次に、デバッガーを停止するまで、Transact-SQL コードをデバッグ モードで実行できます。オプションを設定して、デバッガーの実行方法をカスタマイズできます。

デバッガーの起動と停止

Transact-SQL デバッガーを起動するための要件は次のとおりです。

  • データベース エンジン クエリ エディターが別のコンピューターのデータベース エンジンのインスタンスに接続されている場合、デバッガーをリモート デバッグ用に構成しておく必要があります。詳細については、「Transact-SQL デバッガーの構成」を参照してください。

  • SQL Server Management Studio が、sysadmin 固定サーバー ロールのメンバーである Windows アカウントで実行されている必要があります。

  • データベース エンジン クエリ エディター ウィンドウが、sysadmin 固定サーバー ロールのメンバーである Windows 認証または SQL Server 認証ログインを使用して接続されている必要があります。

  • データベース エンジン クエリ エディター ウィンドウが、SQL Server 2008 データベース エンジン以降のインスタンスに接続されている必要があります。クエリ エディター ウィンドウがシングル ユーザー モードのインスタンスに接続されているときは、デバッガーを実行できません。

Transact-SQL コードのデバッグは、次の理由により、実稼働サーバーではなくテスト サーバーで行うことをお勧めします。

  • デバッグは高度な権限を必要とする操作です。このため、SQL Server でデバッグを行うことができるのは、sysadmin 固定サーバー ロールのメンバーのみです。

  • いくつかの Transact-SQL ステートメントの処理を調査するときに、デバッグ セッションが長時間に及ぶことがあります。セッションによって取得されたロック (たとえば更新ロック) が、セッションが終了するかトランザクションがコミットまたはロールバックされるまで、長時間保持される場合があります。

Transact-SQL デバッガーを起動すると、クエリ エディター ウィンドウがデバッグ モードになります。クエリ エディター ウィンドウがデバッグ モードになると、デバッガーは最初のコード行で一時停止します。この段階で、コードをステップ実行することも、特定の Transact-SQL ステートメントで実行を一時停止することもできます。デバッガー ウィンドウを使用して現在の実行状態を表示することもできます。デバッガーは、[クエリ] ツール バーの [デバッグ] をクリックするか、または [デバッグ] メニューの [デバッグ開始] をクリックすることで開始できます。

クエリ エディター ウィンドウは、クエリ エディター ウィンドウ内の最後のステートメントが完了するか、またはデバッグ モードを自分で終了するまで、デバッグ モードに保たれます。デバッグ モードとステートメントの実行を停止するには、次のいずれかの操作を行います。

  • [デバッグ] メニューの [デバッグの停止] をクリックする。

  • [デバッグ] ツール バーの [デバッグの停止] ボタンをクリックする。

  • [クエリ] メニューの [クエリ実行のキャンセル] をクリックする。

  • [クエリ] ツール バーの [クエリ実行のキャンセル] ボタンをクリックする。

また、[デバッグ] メニューの [すべてデタッチ] をクリックすると、デバッグ モードを停止し、残りの Transact-SQL ステートメントを実行できます。

デバッガーの制御

次のメニュー コマンド、ツール バー、およびショートカットを使用することで、Transact-SQL デバッガーの動作を制御できます。

  • [デバッグ] メニューおよび [デバッグ] ツール バー。[デバッグ] メニューと [デバッグ] ツール バーは、開いているクエリ エディター ウィンドウにフォーカスが設定されるまで、どちらも非アクティブ状態です。現在のプロジェクトが閉じられるまで、アクティブ状態に保たれます。

  • デバッガーのキーボード ショートカット。

  • クエリ エディターのショートカット メニュー。ショートカット メニューは、クエリ エディター ウィンドウ内の行を右クリックすると表示されます。クエリ エディター ウィンドウがデバッグ モードのとき、ショートカット メニューには、選択された行または文字列に適用できるデバッガー コマンドが表示されます。

  • デバッガーによって開かれたウィンドウ (たとえば [ウォッチ] ウィンドウや [ブレークポイント] ウィンドウ) のメニュー項目およびコンテキスト コマンド。

デバッガーのメニュー コマンド、ツール バー ボタン、およびキーボード ショートカットを次の表に示します。

[デバッグ] メニューのコマンド

エディターのショートカット コマンド

ツール バー ボタン

キーボード ショートカット

動作

[ウィンドウ]/[ブレークポイント]

使用できません

[ブレークポイント]

Ctrl + Alt + B

[ブレークポイント] ウィンドウを表示します。このウィンドウでは、ブレークポイントの表示と管理を行うことができます。

[ウィンドウ]/[ウォッチ]/[ウォッチ 1]

使用できません

[ブレークポイント]/[ウォッチ]/[ウォッチ 1]

Ctrl + Alt + W、1

[ウォッチ 1] ウィンドウを表示します。

[ウィンドウ]/[ウォッチ]/[ウォッチ 2]

使用できません

[ブレークポイント]/[ウォッチ]/[ウォッチ 2]

Ctrl + Alt + W、2

[ウォッチ 2] ウィンドウを表示します。

[ウィンドウ]/[ウォッチ]/[ウォッチ 3]

使用できません

[ブレークポイント]/[ウォッチ]/[ウォッチ 3]

Ctrl + Alt + W、3

[ウォッチ 3] ウィンドウを表示します。

[ウィンドウ]/[ウォッチ]/[ウォッチ 4]

使用できません

[ブレークポイント]/[ウォッチ]/[ウォッチ 4]

Ctrl + Alt + W、4

[ウォッチ 4] ウィンドウを表示します。

[ウィンドウ]/[ローカル]

使用できません

[ブレークポイント]/[ローカル]

Ctrl + Alt + V、L

[ローカル] ウィンドウを表示します。

[ウィンドウ]/[呼び出し履歴]

使用できません

[ブレークポイント]/[呼び出し履歴]

Ctrl + Alt + C

[呼び出し履歴] ウィンドウを表示します。

[ウィンドウ]/[スレッド]

使用できません

[ブレークポイント]/[スレッド]

Ctrl + Alt + H

[スレッド] ウィンドウを表示します。

[続行]

使用できません

[続行]

Alt + F5

次のブレークポイントまで実行します。[続行] は、デバッグ モードのクエリ エディター ウィンドウにフォーカスを移さないとアクティブになりません。

[デバッグ開始]

使用できません

[デバッグ開始]

Alt + F5

クエリ エディター ウィンドウをデバッグ モードにし、最初のブレークポイントまで実行します。デバッグ モードのクエリ エディター ウィンドウにフォーカスを移した場合、[デバッグ開始][続行] に切り替わります。

[すべて中断]

使用できません

[すべて中断]

Ctrl + Alt + Break

この機能は、Transact-SQL デバッガーでは使用できません。

[デバッグの停止]

使用できません

[デバッグの停止]

Shift + F5

クエリ エディター ウィンドウをデバッグ モードから通常モードに切り替えます。

[すべてデタッチ]

使用できません

使用できません

使用できません

デバッグ モードを終了しますが、クエリ エディター ウィンドウ内の残りのステートメントを実行します。

[ステップ イン]

使用できません

[ステップ イン]

F11

次のステートメントを実行します。次のステートメントがストアド プロシージャ、トリガー、または関数を実行する場合は、新しいクエリ エディター ウィンドウをデバッグ モードで開きます。

[ステップ オーバー]

使用できません

[ステップ オーバー]

F10

関数、ストアド プロシージャ、またはトリガーがデバッグされない点を除き、[ステップ イン] と同じです。

[ステップ アウト]

使用できません

[ステップ アウト]

Shift + F11

ブレークポイントで一時停止することなく、トリガー、関数、またはストアド プロシージャ内の残りのコードを実行します。モジュールを呼び出したコードに制御が返されると、通常のデバッグ モードが再開されます。

使用できません

[カーソルまで実行]

使用できません

Ctrl + F10

ブレークポイントで停止することなく、前回の停止位置から現在のカーソル位置までのすべてのコードを実行します。

[クイック ウォッチ]

[クイック ウォッチ]

使用できません

Ctrl + Alt + Q

[クイック ウォッチ] ウィンドウを表示します。

[ブレークポイントの設定/解除]

[ブレークポイント]/[ブレークポイントの挿入]

使用できません

F9

現在の Transact-SQL ステートメントまたは選択されているステートメントにブレークポイントを配置します。

使用できません

[ブレークポイント]/[ブレークポイントの削除]

使用できません

使用できません

選択されている行からブレークポイントを削除します。

使用できません

[ブレークポイント]/[ブレークポイントの無効化]

使用できません

使用できません

選択されている行のブレークポイントを無効にします。ブレークポイントはコード行に設定されたままですが、再び有効にするまで実行は停止されません。

使用できません

[ブレークポイント]/[ブレークポイントの有効化]

使用できません

使用できません

選択されている行のブレークポイントを有効にします。

[すべてのブレークポイントの削除]

使用できません

使用できません

Ctrl + Shift + F9

すべてのブレークポイントを削除します。

[すべてのブレークポイントを無効にする]

使用できません

使用できません

使用できません

すべてのブレークポイントを無効にします。

使用できません

[ウォッチ式の追加]

使用できません

使用できません

選択されている式を [ウォッチ] ウィンドウに追加します。