方法 : SQL Server のプロジェクトの種類を使用して開発する

更新 : 2007 年 11 月

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

Edition

Visual Basic

C#

C++

Web Developer

Express

トピック該当なし トピック該当なし トピック該当なし トピック該当なし

Standard

トピック該当なし トピック該当なし トピック該当なし トピック該当なし

Pro/Team

トピック該当 トピック該当 トピック該当 トピック該当

表の凡例 :

トピック該当

対象

トピック該当なし

該当なし

トピックは該当しますが、コマンドは既定では非表示です

既定で非表示のコマンド

ここでは、Visual Studio SQL Server プロジェクトの種類を使用して、ストアド プロシージャや関数などの SQL データベース オブジェクトを作成する方法について説明します。新しいプロジェクトでは、多くの場合、最初にストアド プロシージャを作成します。ストアド プロシージャは、データベースを使用してアプリケーションから直接呼び出されるコンポーネントであるためです。

次に、作成したオブジェクトにテスト スクリプトを実行して、テストとデバッグを行う方法について説明します。このシナリオでは、オブジェクトを既に作成していて、簡単なテストを実行しています。ここでは、既存のオブジェクトに対して、より複雑なテストを実行します。テストを追加すると、バグが検出されることがあります。その場合、最初の手順に戻ってオブジェクトを再コンパイルします。

ms165040.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

Visual Studio 2005 を使用して SQL オブジェクトを作成してデバッグするには

  1. Visual Studio を起動して、新しい SQL Server プロジェクトを作成します。

  2. サーバー エクスプローラの [データ接続] ノードを展開します。オブジェクトを追加するデータベースが表示されないときは、接続を確立します。詳細については、「方法 : データベースに接続する」を参照してください。

  3. 接続に対して SQL のデバッグが有効になっていることを確認します。詳細については、「方法 : 接続の CLR デバッグを有効にする」を参照してください。

  4. T-SQL オブジェクトを作成する場合は、次の手順を実行します。

    1. データベース ノードを展開し、作成するオブジェクトに対応するノードの種類を右クリックします。次に、ショートカット メニューの [新しい <オブジェクトの種類>] をクリックします。

      新しいオブジェクトのテンプレートがテキスト エディタ ペインに表示されます。

    2. テンプレートに、オブジェクトを作成するコードを入力します。

    3. [ファイル] メニューの [選択されたファイルを上書き保存] をクリックし、オブジェクトの名前を入力します。

      データベースに対して、サーバーでスクリプトを実行します。オブジェクトが作成されると、サーバー エクスプローラでは、オブジェクトの種類と関連付けられたノードの下に、オブジェクト名が表示されます。

    または

    SQL CLR オブジェクトを作成する場合は、次の手順を実行します。

    1. [ファイル] メニューの [プロジェクト] をクリックし、[新しい項目の追加] をクリックします。[新しい項目の追加] ダイアログ ボックスが表示されます。テキスト ボックスに名前を入力し、[追加] をクリックします。

    2. テンプレートに、オブジェクトのコードを入力します。

    3. ソリューション エクスプローラで、TestScripts ディレクトリの下にある Test.sql ファイルをダブルクリックすると、テキスト エディタ ペインに表示されます。ここに、オブジェクトをテストするコードを入力します。このコードは、T-SQL で記述します。詳細については、「SQL CLR データベースのデバッグ」を参照してください。テスト スクリプトは、別のファイル名で作成して保存することもできます。この場合、ファイル名を右クリックして実行するファイルを選択し、[既定のデバッグ スクリプトの設定] をクリックします。

  5. オブジェクトにブレークポイントを設定します。この場合、サーバー エクスプローラでオブジェクト名をダブルクリックし、テキスト エディタで、ブレークポイントを設定するコード行の左のマージンをクリックします。

  6. コンパイルするには、コードの配置とテストを行い、F5 キーを押します。

    オブジェクトが正常に SQL Server データベースに配置されたかどうかを示すメッセージが、[出力] ウィンドウに表示されます。Test.sql ファイル、または既定のデバッグ スクリプトとして作成されたファイルのスクリプトが実行され、設定したブレークポイントに達すると、オブジェクトをデバッグできます。

  7. いろいろなデバッグ機能を試してください。

    1. [デバッグ] メニューの [ウィンドウ] をクリックし、[ローカル] をクリックすると、[ローカル] ウィンドウが開きます。

      パラメータとローカル変数およびそれらの値が、[ローカル] ウィンドウに表示されます。ストアド プロシージャの実行時に、変数の値を [ローカル]ウィンドウで編集できます。詳細については、「方法 : デバッガ変数ウィンドウを使用する」を参照してください。

      ms165040.alert_note(ja-jp,VS.90).gifメモ :

      サーバーは、デバッガ ウィンドウの変数値に対する変更を反映しない場合があります。詳細については、「SQL デバッグの制約」を参照してください。

    2. F10 キーを押して、ストアド プロシージャの 1 行をステップ実行します。

      オブジェクトで変数値が変わると、変更された値は、[ローカル] ウィンドウで赤色に表示されます。

    3. [デバッグ] メニューの [ウィンドウ] をクリックし、[ウォッチ] をクリックすると、[ウォッチ] ウィンドウが開きます。詳細については、「方法 : デバッガ変数ウィンドウを使用する」を参照してください。

    4. テキスト エディタで、変数をダブルクリックして選択します。[ウォッチ] ウィンドウの任意の場所にドラッグします。ウォッチする変数のリストに追加されます。

      ms165040.alert_note(ja-jp,VS.90).gifメモ :

      [ウォッチ] ウィンドウでも変数の値を編集できます。

    5. テキスト エディタで、コマンドを右クリックし、ショートカット メニューの [ブレークポイントの挿入] をクリックします。

    6. [デバッグ] メニューの [続行] をクリックします。

      デバッガは、設定したブレークポイントで停止します。

  8. もう一度 [続行] をクリックして、ストアド プロシージャのデバッグを終了します。

  9. [出力] ウィンドウ内の結果を表示して、[出力元の表示: データベース出力] を選択します。

Visual Studio 2005 の SQL Server プロジェクトにおけるテスト スクリプトの実行

  1. Visual Studio を開きます。

  2. データベースへの接続を確立します (確立していない場合)。

  3. 接続に対して SQL のデバッグが有効になっていることを確認します。詳細については、「方法 : 接続の CLR デバッグを有効にする」を参照してください。

  4. サーバー エクスプローラでオブジェクト名をダブルクリックし、テキスト エディタで、ブレークポイントを設定するコード行の左のマージンをクリックします。

  5. ソリューション エクスプローラで、[TestScripts] フォルダの下にあるテスト スクリプトのファイル名をダブルクリックすると、テキスト エディタ ウィンドウに表示されます。必要に応じて追加のテストを実行し、ファイルを保存します。

  6. ソリューション エクスプローラで、[TestScripts] フォルダの下にあるスクリプトのファイル名を右クリックして、[デバッグ スクリプト] をクリックします。

  7. オブジェクトのコードが表示されます。このとき、左の灰色のマージンに黄色の矢印が表示されます。この矢印は、実行されるステートメントを示します。これで、使い慣れたデバッガ機能の多くを使用できるようになります。詳細については、「デバッガのロードマップ」を参照してください。

参照

その他の技術情報

マネージ コードでの SQL Server 2005 オブジェクトの作成

Microsoft Visual Database Tools の概要

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