Transact-SQL デバッガー

適用対象:SQL Server

Transact-SQL デバッガーを使用すると、Transact-SQL コードの実行時の動作を確認してエラーを検出できます。 データベース エンジン クエリ エディター ウィンドウをデバッグ モードに設定した後、特定のコード行で実行を一時停止し、Transact-SQL ステートメントで使用されている (またはステートメントから返される) 情報やデータを調べることができます。

この機能は、SSMS バージョン 17.9.1 以前で動作します。 T-SQL デバッグは、SQL Server Data Tools for Visual Studio でも使用できます。

Transact-SQL コードのステップ実行

Transact-SQL デバッガーでは、データベース エンジン クエリ エディター ウィンドウがデバッグ モードのときに Transact-SQL コードを使用して次の操作を行うことができます。

  • 個々の Transact-SQL ステートメントにブレークポイントを設定する。

    実行を一時的に停止してデータを調査するには、その位置をブレークポイントで指定します。 デバッガーを起動すると、デバッガーはクエリ エディター ウィンドウ内の最初のコード行で一時停止します。 設定した最初のブレークポイントまで実行するには、 続行 機能を使用します。 続行 機能は、現在一時停止しているウィンドウの場所から次のブレークポイントまで実行するためにも使用できます。 ブレークポイントは編集することができます。実行を一時停止する条件や、 [出力] ウィンドウに表示する情報など、その動作を指定できるほか、ブレークポイントの場所を変更することもできます。

  • 次のステートメントにステップ インする。

    ステートメントのセット内を 1 つずつ移動して、その動作を確認できます。

  • ストアド プロシージャまたは関数の呼び出しにステップ インまたはステップ オーバーする。

    ストアド プロシージャにエラーがないことがわかっている場合は、ストアド プロシージャにステップ オーバーできます。 プロシージャは完全に実行され、その結果がコードに返されます。

    ストアド プロシージャまたは関数をデバッグする場合、モジュールにステップ インできます。 SQL Server Management Studio に、モジュールのソース コードが表示された新しい データベース エンジン クエリ エディター ウィンドウが開き、そのウィンドウがデバッグ モードに切り替えられ、モジュールの最初のステートメントで実行が一時停止されます。 その後、モジュールのコードに対して、ブレークポイントの設定やコードのステップ実行などの操作を行うことができます。

デバッガーでのコードの操作については、「 Transact-SQL コードのステップ実行」を参照してください。

デバッガー情報の表示

デバッガーが特定の Transact-SQL ステートメントで実行を一時停止するたびに、次のデバッガー ウィンドウを使用して現在の実行状態を表示できます。

  • [ローカル][ウォッチ]。これらのウィンドウには、現在割り当てられている Transact-SQL 式が表示されます。 式は、単一のスカラー式に評価される Transact-SQL 句です。 Transact-SQL デバッガーでは、Transact-SQL 変数、パラメーター、または、組み込み関数を参照する、名前が @@ で始まる表示式がサポートされます。 また、これらのウィンドウには、式に現在割り当てられているデータ値も表示されます。

  • [クイック ウォッチ]。 このウィンドウには、 Transact-SQL 式の値が表示されます。式を [ウォッチ] ウィンドウに保存することができます。

  • [ブレークポイント]。 このウィンドウには、現在設定されているブレークポイントが表示されます。ブレークポイントを管理できます。

  • [呼び出し履歴]。 このウィンドウには、現在の実行場所が表示されます。 また、実行が元のクエリ エディター ウィンドウから関数、ストアド プロシージャ、またはトリガー経由で現在の実行場所までどのように渡されたかについての情報も表示されます。

  • 出力。 このウィンドウには、各種のメッセージやプログラム データ (たとえばデバッガーからのシステム メッセージ) が表示されます。

  • [結果] および [メッセージ]。クエリ エディター ウィンドウ上のこれらのタブには、前に実行された Transact-SQL ステートメントの結果が表示されます。

Transact-SQL デバッガーのタスク

タスクの説明 トピック
リモート デバッグに必要な構成を Transact-SQL デバッガーに対して行う方法について説明します。 Transact-SQL デバッガーを実行する前にファイアウォール規則を構成する
デバッガーの操作を開始、停止、および制御する方法について説明します。 Transact-SQL デバッガーの実行
Transact-SQL デバッガーを使用してコードをステップ実行する方法について説明します。 Transact-SQL コードのステップ実行
デバッガーを使用して Transact-SQL データ (パラメーター、変数など) およびシステム情報を表示する方法について説明します。 Transact-SQL デバッガー情報

関連項目

クエリ エディターとテキスト エディター (SQL Server Management Studio)