SQL データベース オブジェクトのデバッグ
更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro/Team |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
データベース オブジェクトは、T-SQL や共通言語ランタイム (CLR: Common Language Runtime) 言語で記述できるようになりました。ここでは、SQL データベース オブジェクトのデバッグ方法について説明します。データベースのオブジェクトの型ごとにトピックがあります。つまり、SQL CLR 向けに 1 つのトピック、T-SQL 向けに 1 つのトピック (該当する場合) があります。SQL CLR データベース オブジェクトには、T-SQL で記述できない型もあります。
データベース オブジェクトの開発期間には、コーディング、データベースへの配置、ユニットのテスト、アプリケーションのテスト、デバッグという作業が行われます。SQL Server 2005 より前では、データベース オブジェクトをすべて T-SQL で記述していました。アプリケーションのテストでは Visual Studio を使用し、その他については開発期間の全体でクエリ アナライザ ツール (T-SQL デバッガなど) を使用するのが一般的でした。SQL Server 2005 では、クエリ アナライザは SQL Server Management Studio に置き換えられました。SQL CLR データベース オブジェクトを作成する新機能があるため、デバッグは、(デバッガが含まれていない) SQL Server Management Studio ではなく、Visual Studio 内で実行されます。
ここでは、Visual Studio の SQL Server プロジェクトという種類を使用した開発を中心に説明します。SQL Server プロジェクトの種類を使用すると簡単に SQL CLR オブジェクトを開発できます。コーディング、配置、ユニット テスト、およびデバッグは単一の IDE に統合され、自動的にこれらのプロセスすべてが単一のプロセスで実行されます。このプロジェクトの種類で、T-SQL オブジェクトも開発できます。詳細については、「マネージ コードでの SQL Server 2005 オブジェクトの作成」を参照してください。
データベース オブジェクトのコーディングには、次のように他の方法もあります。
T-SQL オブジェクトは、データベースのプロジェクトの種類を使用してコーディングし、Visual Studio に配置できます。このプロジェクトの種類には、データベース オブジェクトを作成するデザイン時ツールがあります。このプロジェクトの種類では、テーブルの作成、表示、インデックス付けなど、SQL Server の管理タスクを実行することもできます。詳細については、「Microsoft Visual Database Tools の概要」を参照してください。
複合した新しい T-SQL オブジェクトまたはレガシ T-SQL オブジェクトは、SQL Server Management Studio で、記述、修正、配置、およびユニットのテストを行うことができます。デバッグが必要なときは Visual Studio を使用します。データベースの大部分を T-SQL で開発していて、クエリ アナライザの使用経験がある場合は、この方法が適しています。
Visual Studio は SQL CLR データベース オブジェクトの開発に必須ではありません。開発にはテキスト エディタやサード パーティの IDE を使用し、オブジェクトの配置に SQL Server Management Studio を使用することもできます。この場合、Visual Studio を使用するときよりも SQL Server の知識が必要になり、生産性が低くなる可能性があります。
配置は、次の 2 つの方法で行うことができます。
SQL CLR オブジェクトを作成すると、SQL Server Management Studio で T-SQL コマンドを使用して配置できます。
また、T-SQL オブジェクトも SQL Server Management Studio で配置できます。このシナリオでは、オブジェクトを作成するスクリプトを記述してからスクリプトを実行するため、開発と配置は 1 つの手順で行われます。
ユニット テストとデバッグには、いくつかの方法があります。
既存のデータベース オブジェクトは、プロジェクトの外部で Visual Studio を使用してデバッグできます。サーバー エクスプローラを使用して、データベース オブジェクトにステップ インできます。詳細については、「方法 : サーバー エクスプローラを使用してオブジェクトにステップ インする」を参照してください。
オブジェクトを実行する SQL Server Management Studio で T-SQL スクリプトを実行することで、オブジェクトの単体テストを行うことができます。そして、Visual Studio からオブジェクトをデバッグできます。詳細については、「方法 : SQL Server Management Studio を使用して T-SQL をデバッグする」を参照してください。
Visual Studio 2005 の [データベース] プロジェクトから、テスト スクリプトを実行できます。
ネットワーク上での SQL デバッグ情報のフローを監視するには、Microsoft Network Monitor を使用します。このツールは、Microsoft ダウンロード センター (https://www.microsoft.com/downloads/details.aspx?FamilyID=18b1d59d-f4d8-4213-8d17-2f6dde7d7aac&DisplayLang=en) で入手できます。
データベース オブジェクトのユニット テストが終了した後は、オブジェクトを呼び出すアプリケーションをテストします。この処理については、「多階層アプリケーション データベースのデバッグ」を参照してください。
このセクションの内容
Microsoft Visual Database Tools の概要
SQL デバッグ機能を使用するときの制限について説明します。共通プロシージャのリファレンス
多様なシナリオとサンプルで発生する手順について説明します。T-SQL データベースのデバッグ
T-SQL データベースのさまざまなオブジェクト (ストアド プロシージャ、トリガ、ユーザー定義関数、および拡張ストアド プロシージャ) をデバッグする方法について説明します。SQL CLR データベースのデバッグ
CLR データベースのさまざまなオブジェクト (ストアド プロシージャ、トリガ、ユーザー定義のスカラ関数、ユーザー定義のテーブル値関数、ユーザー定義集計、およびユーザー定義型) をデバッグする方法について説明します。
関連するセクション
Microsoft Visual Database Tools の概要
SQL デバッグ機能を使用するときの制限について説明します。SQL デバッグの設定
SQL デバッグのソフトウェア要件 (サーバーおよびワークステーション)、SQL デバッグを有効にする手順、インストール、構成、およびトラブルシューティングのセットアップについて説明します。多階層アプリケーション データベースのデバッグ
必要なセットアップ手順について説明し、多階層のデータベース アプリケーションをデバッグする方法についてサンプルを示します。SQL デバッグ情報のフローの監視
ネットワーク モニタ (NetMon) または同様のツールを使用した SQL デバッグ情報のフローの監視について説明し、ネットワーク モニタのドキュメントへのリンクを提供します。
参照
処理手順
方法 : SQL Server Management Studio を使用して T-SQL をデバッグする