データベースのチーム開発の開始
データベース スキーマへの変更を管理するには、まずデータベース プロジェクトを作成し、次に、管理対象のデータベースからそのデータベース プロジェクトにオブジェクトと設定をインポートします。
データベース プロジェクトには、そのデータベースの個別のインスタンスの作成や既存のインスタンスの更新に必要になるオブジェクト定義と配置スクリプトが含まれています。 データベース プロジェクトはデータベースのオフライン形式であるため、バージョン コントロールの対象にプロジェクトを追加してから、反復的な変更を分離開発環境に配置できます。 チーム メンバーは、変更を個別にテストし、テストを完了してから、それらの変更をチーム内で共有できます。 この方法を使用すると、データベース コードを稼動環境に配置する前に、品質を制御することができます。
データベース プロジェクトの種類の指定
データベース プロジェクトを作成するときは、使用している SQL Server のバージョンに対応するプロジェクトの種類を指定します。 たとえば、管理するデータベースが SQL Server 2005 に基づく場合は、[SQL Server 2005 データベース プロジェクト] または [SQL Server 2005 ウィザード] を指定します。 ウィザードを使用すると、プロジェクトの作成だけでなく、一部のビルドや配置の設定の構成、およびデータベース オブジェクトと設定のインポートを同時に行うことができます。
データベース オブジェクトと設定のインポート
プロジェクトを作成したら、データベースのインスタンスまたはスクリプトから、オブジェクトと設定をインポートできます。 データベースをインポートするときには、そのオブジェクト定義が検証され、解析できないステートメントは ScriptsIgnoredOnImport.sql ファイルに格納されます。 既に存在しないオブジェクトを参照するオブジェクト定義をインポートした場合は、プロジェクトをビルドおよび配置する前に、そのエラーを解決しておく必要があります。 たとえば、既に存在しないテーブルを参照するストアド プロシージャをインポートした場合などです。 エラーを解決するには、そのストアド プロシージャを削除します。
大規模なスキーマをインポートする場合は、そのようなエラーの解決に時間がかかることがあります。 ただし、チーム メンバーが Visual Studio Premium でスキーマを更新するときに、気付かないうちにこのようなエラーを増やす可能性はありません。 チーム メンバーがオブジェクト定義を変更して保存する際には、変更がすべて検証されます。そのため、チーム メンバーはエラーを直ちに修正し、ライブ データベースにこのようなエラーが配置されるのを防ぐことができます。 オブジェクト定義の警告を解決したら、データベース コードを分析して設計、名前付け、およびパフォーマンスの問題を検出することも検討する必要があります。 詳細については、「データベース コードの分析によるコードの品質の向上」を参照してください。
一般的なタスク
チームの開発手法に応じて、データベース プロジェクトのチーム開発を始める際には次の表に示すタスクを実行してください。
一般的なタスク |
関連する参照先 |
---|---|
データベース プロジェクトの詳細を理解する: データベース プロジェクトを使用してスキーマの変更を管理する方法の基本的な概念を習得できます。 |
|
実習を行う: チュートリアルに従って作業すると、分離開発環境を作成する方法を習得でき、他のチーム メンバーによる変更と競合しないようにすることができます。 さらに、小規模なデータベース開発ライフ サイクルを扱った、より具体的なチュートリアルを実践することもできます。 |
|
既存のデータベース スキーマをバージョン コントロールする: データベース プロジェクト ウィザードを使用すると、プロジェクトの作成、プロジェクトの設定の構成、およびスキーマのインポートを実行できます。 後でスキーマをインポートする場合や、スキーマのインポート元のデータベースにアクセスするためのアクセス許可がない場合は、空のプロジェクトを作成することもできます。 スキーマをインポートした後で、プロジェクトをバージョン コントロールに追加できます。 |
関連するシナリオ
他のデータベースを参照するデータベースのチーム開発の開始
データベース スキーマのオフライン形式を作成し、他のデータベースへの 1 つ以上の参照を定義し、対象となる配置環境の変数を定義し、プロジェクトをバージョン コントロールに追加する方法について説明します。SQLCLR オブジェクトを参照するデータベースのチーム開発の開始
データベース スキーマのオフライン形式を作成し、SQL 共通言語ランタイム (CLR: Common Language Runtime) オブジェクトを含むアセンブリへの参照を定義し、それらのオブジェクトを参照するデータベース オブジェクトを定義して、プロジェクトをバージョン コントロールに追加する方法について説明します。大規模なデータベースのチーム開発の開始
データベース スキーマのオフライン形式を作成し、複数のプロジェクトにインポートして、データベース スキーマの一部へのアクセスを制限する方法について説明します。 この方法では、サイズの大きいデータベースを操作する際のパフォーマンスを向上させることもできます。共有サーバー オブジェクトを参照するデータベースのチーム開発の開始
データベース スキーマのオフライン形式を作成し、共有サーバー プロジェクトへの参照を定義し、サーバー プロジェクトで定義されているオブジェクトへの参照を追加して、データベース プロジェクトをバージョン コントロールに追加する方法について説明します。XML スキーマ コレクションを使用するデータベースのチーム開発の開始
データベース スキーマのオフライン形式を作成し、XSD スキーマを参照し、テーブルの型指定された XML 列にその参照先スキーマを使用する方法について説明します。データベース プロジェクトへの複数のデータベースのマージ
複数のデータベースで定義されたオブジェクトを取得し、それらをデータベース プロジェクトにマージする方法を説明します。