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

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

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

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

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

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

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

データベースをインポートすると、プロジェクトのプロパティでデータベース間参照を宣言し、警告を解決できます。 各参照を宣言するときに、参照するサーバーおよびデータベースの変数を定義します。 プロジェクトの配置先として予期されるさまざまな環境に基づいて、変数ごとに異なる値を指定できます。

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

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

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

次に示すいずれかの条件に該当する場合は、データベース メタファイルを参照する必要があります。

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

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

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

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

一般的なタスク

データベース プロジェクトを使用して、次の表内のタスクを実行できます。 これらのタスクを使用するプロセスは、チームの開発メソドロジに応じて異なります。

一般的なタスク

関連する参照先

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

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

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

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

次に、データベース内のオブジェクトが参照している他のサーバーおよびデータベースを指定する変数を作成する必要があります。 それらの変数を作成したら、プロジェクトのプロパティで参照を宣言するときに、それらの変数を使用する必要があります。 また、明示的な参照ではなく変数を使用するように、オブジェクト定義を更新することもできます。 変数を使用すると、データベースの配置先となるさまざまな環境に基づいて、異なるデータベースを指定できます。 たとえば、開発環境、テスト環境、ステージング環境、稼動環境に固有の値で変数を自動的に置き換えることができます。 データベース間参照を宣言した後、データベース プロジェクトをバージョン管理に追加できます。

関連するシナリオ

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

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

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

シナリオ : データベース サーバー上のオブジェクトのチーム開発の開始

シナリオ : データベース サーバー エンドポイントのチーム開発の開始

参照

概念

Database Edition の用語の概要