Share via


他のデータベースを参照するデータベースのチーム開発の開始

データベース スキーマへの変更を管理するには、まずデータベース プロジェクトを作成し、次に、管理対象のデータベースからそのデータベース プロジェクトにオブジェクトと設定をインポートします。 データベース内のオブジェクトが他のデータベース内のオブジェクトを参照している場合は、データベース プロジェクトのプロパティで、参照先のサーバーとデータベースを宣言する必要もあります。 データベース プロジェクトはデータベースのオフライン形式であるため、バージョン コントロールの対象にプロジェクトを追加してから、反復的な変更を分離開発環境に配置できます。 チーム メンバーは、変更を個別にテストし、テストを完了してから、それらの変更をチーム内で共有できます。 この方法を使用すると、データベース コードを稼動環境に配置する前に、品質を調整することができます。

データベース プロジェクトの種類の指定

データベース プロジェクトを作成するときは、使用している SQL Server のバージョンに対応するプロジェクトの種類を指定します。 たとえば、管理するデータベースが SQL Server 2005 に基づく場合は、[SQL Server 2005 データベース プロジェクト] または [SQL Server 2005 ウィザード] を指定します。 ウィザードを使用すると、プロジェクトの作成だけでなく、一部のビルドや配置の設定の構成、およびデータベース オブジェクトと設定のインポートを同時に行うことができます。

データベース オブジェクトと設定のインポート

プロジェクトを作成したら、データベースのインスタンスまたはスクリプトから、オブジェクトと設定をインポートできます。 データベースをインポートすると、そのオブジェクト定義が検証され、解析できないステートメントは ScriptsIgnoredOnImport.sql ファイルに追加されます。

データベース プロジェクトおよび .dbschema ファイルへの参照の宣言

データベースをインポートした後は、プロジェクトのプロパティでデータベース間参照を宣言して、警告を解除する必要があります。 参照を宣言するときは、参照するサーバーおよびデータベースに対応する変数を、その都度定義します。 各変数には、プロジェクトの配置先となる環境ごとに、別々の値を指定できます。

参照を宣言するときは、参照先として、別のデータベース プロジェクト、またはデータベース スキーマ ファイル (.dbschema) を指定します。 データベース スキーマ ファイルは、データベース プロジェクトをビルドするとき、またはコマンド ライン ツールを使用してスキーマをインポートするときに作成されます。 さらに、参照先の指定には、参照先の名前、または変数 (プロジェクトのビルド時に適切な値に置換される) を使用できます。 保守の手間を省くために、データベース プロジェクト内のオブジェクトを更新して、他のデータベース内のオブジェクトを参照するときに変数を使用するように設定できます。 詳細については、「サーバーまたはデータベースへの参照の名前変更」を参照してください。 データベース プロジェクトをビルドすると、変数は指定した値に置き換えられます。

次の条件に当てはまる場合は、他のデータベース プロジェクトを参照する必要があります。

  • 参照を含むデータベースと参照先のデータベース両方のスキーマを変更する必要がある場合。 参照を含むデータベース プロジェクトを配置する場合は、参照先のデータベース プロジェクトも配置します。

次の条件のうちいずれかに当てはまる場合は、データベース スキーマ ファイル (.dbschema) を参照する必要があります。

  • 現在のソリューションにプロジェクトが存在しないデータベースを参照する必要がある場合。

  • 単一のプロジェクトが他のプロジェクトに依存していて、依存先プロジェクトを配置せずに単一のプロジェクトを配置する必要がある場合。

  • 変更される可能性の低いデータベース スキーマを参照している場合。 このシナリオでは、データベース スキーマ ファイル (.dbschema) をバージョン管理にチェックインできます。

詳細については、「データベース プロジェクトでの参照の使用」を参照してください。

一般的なタスク

一般的なタスク

関連する参照先

データベース プロジェクトの詳細を理解する: データベース プロジェクトを使用してスキーマの変更を管理する方法の基本的な概念を習得できます。

実習を行う: チュートリアルに従って作業すると、他のデータベースを参照するデータベースへの変更を管理するための分離開発環境を作成する方法を習得できます。

参照先データベースの .dbschema ファイルを作成する: .dbschema ファイルを作成することにより、データベース プロジェクトを作成していないデータベースも参照できます。 たとえば、開発に含まれていないデータベースを参照する必要があるとします。 そのデータベースのスキーマをコマンド プロンプトでインポートするには、データベース プロジェクト内で参照するための .dbschema ファイルを作成します。

既存のデータベース スキーマをバージョン コントロールする: データベース プロジェクト ウィザードを使用すると、プロジェクトの作成、プロジェクトの設定の構成、およびスキーマのインポートを実行できます。 後でスキーマをインポートする場合や、スキーマのインポート元のデータベースにアクセスするためのアクセス許可がない場合は、空のプロジェクトを作成することもできます。

その後、データベース内のオブジェクトが参照する他のサーバーおよびデータベースを指定する変数を作成します。 これらの変数を作成したら、プロジェクトのプロパティで参照を宣言するときに、これらの変数を使用します。 また、明示的な参照ではなく変数を使用するようにオブジェクト定義を更新することもできます。 変数を使用することにより、データベースの配置先となる環境ごとに、別々のデータベースを指定できます。 たとえば、配置、テスト、ステージング、および稼動の各環境について、変数を別々の値に自動置換できます。 データベース間参照を宣言した後は、データベース プロジェクトをバージョン コントロールに追加できます。

関連するシナリオ

データベースのチーム開発の開始

共有サーバー オブジェクトを参照するデータベースのチーム開発の開始

SQLCLR オブジェクトを参照するデータベースのチーム開発の開始