次の方法で共有


Transact-SQL デバッガーの実行

適用対象: SQL Server

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

デバッガーの起動と停止

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

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

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

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

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 すべてのブレークポイントを削除します。
[すべてのブレークポイントを無効にする] 使用不可 使用できません 使用不可 すべてのブレークポイントを無効にします。
使用不可 [ウォッチ式の追加] 使用できません 使用できません 選択されている式を [ウォッチ] ウィンドウに追加します。