方法: SQL Server のデータベース プロジェクトまたはサーバー プロジェクトでデバッグする

このトピックの内容は、次の製品に該当します。

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

ms165040.DoesApplybmp(ja-jp,VS.100).gif ms165040.DoesApplybmp(ja-jp,VS.100).gif ms165040.DoesApplybmp(ja-jp,VS.100).gif ms165040.DoesNotApplybmp(ja-jp,VS.100).gif

次の手順では、Visual Studio SQL Server データベース プロジェクト型またはサーバー プロジェクト型を使用して Transact-SQL をデバッグする方法について説明します。C++、Visual Basic、または C# のプロジェクトから Transact-SQL をデバッグする方法の詳細については、「多階層データベース アプリケーションのデバッグ」を参照してください。

SQL Server のデータベース プロジェクトまたはサーバー プロジェクトのコンテキストでは、ユーザーがデバッグを開始すると、デバッガーは Transact-SQL コードのデバッグを必ずアクティブな Transact-SQL クエリ ウィンドウで開始します。スクリプト全体をデバッグする必要がない場合には、クエリ ウィンドウ内で Transact-SQL コードのサブセットだけを強調表示してから、デバッグを開始してください。

データベース オブジェクト (ストアド プロシージャやトリガーなど) をデバッグするには、アクティブな Transact-SQL クエリ ウィンドウで Transact-SQL コードからこれらのオブジェクトにステップ インする必要があります。たとえば、ストアド プロシージャをデバッグするとします。最初にそのストアド プロシージャを呼び出す EXECUTE ステートメントにブレークポイントを設定します。次に、同じ Transact-SQL クエリ ウィンドウでデバッグを開始して、ステップ インします。そのためには、[デバッグ] ツール バーにある [ステップ イン] をクリックします。

注意

SQL Server データベース プロジェクトまたはサーバー プロジェクトを使用する場合、Visual Studio デバッガーは、サーバー エクスプローラーによって設定されたデータベース オブジェクト上のブレークポイントを認識しません。

アクティブな Transact-SQL クエリ ウィンドウで Transact-SQL スクリプトをデバッグするには

  1. 使用するコンピューターで Transact-SQL デバッグ機能が有効であることを確認します。詳細については、「方法: Transact-SQL のデバッグを有効にする」を参照してください。

  2. Visual Studio を起動して、SQL Server のデータベース プロジェクトまたはサーバー プロジェクトを新規作成します。

  3. デバッグの開始に使用する Transact-SQL スクリプトを開きます。新しい .sql ファイルを開くこともできます。現在のプロジェクトに関連付けられていても、そうでなくてもかまいません。

    1. 新しい Transact-SQL スクリプトをプロジェクトに追加するには、ソリューション エクスプローラーでプロジェクト名を右クリックして、[追加][新しい項目] の順にクリックします。[新しい項目の追加] ダイアログ ボックスで、[スクリプト] をクリックします (これは、[ユーザー スクリプト] テンプレートの [データベース プロジェクト] ノードにあります)。次に、[追加] をクリックします。

    2. プロジェクトに関連付けられていない新しい Transact-SQL クエリ ウィンドウを開く方法については、「方法: Transact-SQL エディターを起動する」と「方法: Transact-SQL エディターでデータベースに接続する」を参照してください。メモ: 先に SQL Server データベース プロジェクトまたはサーバー プロジェクトを開かないと、Transact-SQL をデバッグできません。

  4. Transact-SQL クエリ ウィンドウが開いたら、Transact-SQL コードがまだ作成できていない場合は、コードの記述を開始します。デバッグの開始準備が整ったら、次の手順に進みます。

  5. ブレークポイントを Transact-SQL コードに配置します。そのためには、実行を中断するコード行に対応する Transact-SQL クエリ ウィンドウの左側の余白をクリックします。

  6. アクティブな Transact-SQL クエリ ウィンドウのデバッグを開始します。そのためには、F5 キーを押すか [デバッグ] メニューをクリックして [デバッグ開始] をクリックします。

  7. [デバッグ] ツール バーにある [ステップ イン][ステップ オーバー]、または [ステップ アウト] ボタンを使用して、デバッガーで Transact-SQL スクリプト内を移動します。F5 キーを押して、次のブレークポイントまたはスクリプトの最後まで実行を続行することができます。

  8. [ローカル][ウォッチ] ウィンドウを使用して、コードの状態を調べます。詳細については、「[ローカル] ウィンドウと [ウォッチ] ウィンドウを使用した Transact-SQL オブジェクトのデバッグ」を参照してください。

  9. デバッグが終了して停止する準備ができたら、Ctrl キーを押しながら Alt キーと Break キーを押すか、[デバッグ] ツール バーの [デバッグの停止] をクリックします。

サーバーに展開済みの Transact-SQL データベース オブジェクトをデバッグするには

  1. 使用するコンピューターで Transact-SQL デバッグ機能が有効であることを確認します。詳細については、「方法: Transact-SQL のデバッグを有効にする」を参照してください。

  2. Visual Studio を起動して、SQL Server のデータベース プロジェクトまたはサーバー プロジェクトを新規作成します。

  3. Transact-SQL データベース オブジェクトのテストに使用する Transact-SQL スクリプトを開きます。新しい .sql ファイルを開くこともできます。現在のプロジェクトに関連付けられていても、そうでなくてもかまいません。

    1. 新しい Transact-SQL スクリプトをプロジェクトに追加するには、ソリューション エクスプローラーでプロジェクト名を右クリックして、[追加][新しい項目] の順にクリックします。[新しい項目の追加] ダイアログ ボックスで、[スクリプト] をクリックします (これは、[ユーザー スクリプト] テンプレートの [データベース プロジェクト] ノードにあります)。次に、[追加] をクリックします。

    2. プロジェクトに関連付けられていない新しい Transact-SQL クエリ ウィンドウを開く方法については、「方法: Transact-SQL エディターを起動する」と「方法: Transact-SQL エディターでデータベースに接続する」を参照してください。メモ: 先に SQL Server データベース プロジェクトまたはサーバー プロジェクトを開かないと、Transact-SQL をデバッグできません。

  4. Transact-SQL クエリ ウィンドウが開いたら、Transact-SQL テスト コードがまだ作成できていない場合は、コードの記述を開始します。Transact-SQL データベース オブジェクトをデバッグできる唯一の方法は、アクティブな Transact-SQL クエリ ウィンドウでステップ インすることです。Transact-SQL の実行を開始する Transact-SQL コードをテスト スクリプトに書き込みます。

    1. ストアド プロシージャをデバッグするには、EXECUTE ステートメントを対応するストアド プロシージャを使用するテスト スクリプトに追加します。

    2. トリガー、ユーザー定義関数、およびその他のプログラミング可能な Transact-SQL データベース オブジェクトをデバッグするには、そのコードを実行する Transact-SQL コードをテスト スクリプトに書き込みます。

  5. ブレークポイントを Transact-SQL テスト スクリプトに配置します。そのためには、実行を中断するコード行に対応する Transact-SQL クエリ ウィンドウの左側の余白をクリックします。SQL Server インスタンスに展開済みの Transact-SQL データベース オブジェクトをデバッグするには、ブレークポイントをそのオブジェクトを実行する Transact-SQL コードの直前に配置します。

  6. デバッガーを起動する前に、Transact-SQL テスト スクリプトをクリックして、Visual Studio で唯一のアクティブなウィンドウにします。

  7. Transact-SQL テスト スクリプトのデバッグを開始します。そのためには、F5 キーを押すか [デバッグ] メニューをクリックして [デバッグ開始] をクリックします。

  8. デバッガーがブレークポイントで実行を中断したら、F8 キーを押すか [デバッグ][ステップ イン] をクリックして、Transact-SQL データベース オブジェクトの Transact-SQL コードにステップ インします。デバッガーが、データベース オブジェクトの Transact-SQL コードにステップ インしたら、Visual Studio は新しい Transact-SQL クエリ ウィンドウを開いて、対応する Transact-SQL コードを表示します。

  9. デバッガーが、Transact-SQL データベース オブジェクトにステップ インしたら、追加のブレークポイントを設定したり、[デバッグ] ツール バーにある [ステップ イン][ステップ オーバー]、または [ステップ アウト] ボタンを使用してデバッガーで Transact-SQL コードを移動したりすることができます。F5 キーを押して、次のブレークポイントまたはコードの最後まで実行を続行することができます。

  10. [ローカル][ウォッチ] ウィンドウを使用して、コードの状態を調べます。詳細については、「[ローカル] ウィンドウと [ウォッチ] ウィンドウを使用した Transact-SQL オブジェクトのデバッグ」を参照してください。

  11. デバッグが終了して停止する準備ができたら、Ctrl キーを押しながら Alt キーと Break キーを押すか、[デバッグ] ツール バーの [デバッグの停止] をクリックします。

関連項目

その他の技術情報

Creating SQL Server 2005 Objects In Managed Code

Overview of Visual Database Tools

Transact-SQL データベース オブジェクトのデバッグ