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 + 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 |
すべてのブレークポイントを削除します。 |
[すべてのブレークポイントを無効にする] |
使用できません |
使用できません |
使用できません |
すべてのブレークポイントを無効にします。 |
使用できません |
[ウォッチ式の追加] |
使用できません |
使用できません |
選択されている式を [ウォッチ] ウィンドウに追加します。 |
関連項目
参照
データベース エンジン クエリ エディター (SQL Server Management Studio)