次の方法で共有


Transact-SQL デバッガーの実行

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

デバッガーの起動と停止

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

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

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

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

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

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 + W2 [ウォッチ 2] ウィンドウを表示します。
[ウィンドウ]/[ウォッチ]/[ウォッチ 3] 利用できません [ブレークポイント]/[ウォッチ]/[ウォッチ 3] Ctrl + Alt + W3 [ウォッチ 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 すべてのブレークポイントを削除します。
[すべてのブレークポイントを無効にする] 利用できません 利用できません 利用できません すべてのブレークポイントを無効にします。
利用できません [ウォッチ式の追加] 利用できません 利用できません 選択されている式を [ウォッチ] ウィンドウに追加します。

こちらもご覧ください

Transact-SQL デバッガー
Transact-SQL コードのステップ実行
Transact-SQL デバッガー情報
データベース エンジン クエリ エディター (SQL Server Management Studio)