方法: データベース オブジェクトをデバッグする

SQL Server の単体テストは、次の要素で構成されます。

この記事の手順では、テストするデータベース内のストアド プロシージャ、関数、トリガーなど、特定のデータベース オブジェクトをデバッグする方法について説明します。 データベース オブジェクトをデバッグするには、次の手順に従います。

  1. テスト プロジェクトで SQL Server デバッグを有効にします。
  2. テストするデータベースをホストする SQL Server インスタンスでアプリケーション デバッグを有効にします。
  3. デバッグするデータベース オブジェクトの Transact-SQL スクリプトにブレークポイントを設定します。
  4. 単体テストをデバッグします。 この手順では、デバッグ モードでテストを実行します。

テスト プロジェクトで SQL デバッグを有効にする

  1. ソリューション エクスプローラーを開きます

  2. ソリューション エクスプローラーで、テスト プロジェクトを右クリックし、[プロパティ] を選択します

    テスト プロジェクトと同じ名前のプロパティ ページが開きます。

  3. プロパティ ページで、[デバッグ] を選択 します

  4. [ デバッガーの有効化] で、[ SQL Server デバッグを有効にする] を選択します。

  5. 変更を保存します。

テスト プロジェクトのデバッグを有効にするために、実行コンテキストのタイムアウトの増加を設定する

  1. [ ファイル ] メニューの [ 開く] をポイントし、[ファイル] を選択 します

  2. テスト プロジェクトを含むフォルダーを参照し、 app.config ファイルをダブルクリックします。

    app.config ファイルがエディターで開きます。

  3. 次の例のように、 ExecutionContext ノードを変更してコマンド タイムアウトを追加します。

    <ExecutionContext
        CommandTimeout ="300" Provider="System.Data.SqlClient"
        ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
    
  4. 変更を保存します。

  5. 単体テスト プロジェクトをリビルドします。

Important

プロジェクトをリビルドしないと、単体テストの実行時に app.config に加えた変更は適用されず、デバッグは失敗します。

Transact-SQL スクリプトにブレークポイントを追加する

  1. [ 表示 ] メニューで、 SQL Server オブジェクト エクスプローラーを開きます

  2. [ データ接続] で、テストするデータベースのノードを展開します。

  3. 小さな赤い 'x' がデータベースのアイコンの横に表示される場合、データベースへの接続は閉じられます。 この場合は、データベースを右クリックし、[最新の 情報に更新] を選択します。 データベースへの接続を開くために資格情報を指定する必要がある場合があります。

  4. [ ビュー]、[ ストアド プロシージャ]、または [関数] ノードを展開して、デバッグするオブジェクトを見つけます。

  5. デバッグするオブジェクトをダブルクリックします。

  6. 灰色のサイドバーを選択してブレークポイントを設定します。

SQL Server の単体テストをデバッグする

  1. Visual Studio 2010 で、(Test>Windows) テスト ビュー ウィンドウを開きます。 Visual Studio 2012 で、[ テスト エクスプローラー ] ウィンドウを開きます。

  2. ブレークポイントを設定したデータベース オブジェクトを Transact-SQL スクリプトで実行するテストを右クリックし、[ デバッグの選択] を選択します。

    テストは、データベース オブジェクトのブレークポイントが検出されるまでデバッグ モードで実行されます。

  3. (省略可能)別のデバッグ ウィンドウを開くには、[ デバッグ ] メニューを開き、 Windows をポイントして、[ ブレークポイント]、[ 出力]、または [イミディエイト] を選択します。