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 + |
[ウォッチ 2] ウィンドウを表示します。 |
| [ウィンドウ]/[ウォッチ]/[ウォッチ 3] | 利用できません | [ブレークポイント]/[ウォッチ]/[ウォッチ 3] | Ctrl + |
[ウォッチ 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)