チュートリアル : 隔離されたデータベース開発環境の作成
このチュートリアルでは、分離開発環境を設定して、各データベース開発者がチームの他のメンバに影響を及ぼさずに変更を行い、その変更をテストできるようにします。 分離開発環境はデータベース プロジェクトに基づいています。データベース プロジェクトには、運用データベース内のすべてのオブジェクトの定義が格納されています。 プロジェクトを作成し、運用データベースからデータベース スキーマをインポートして、プロジェクト設定を構成します。 次に、データ生成計画を作成します。 最後に、データベース プロジェクトおよび関連するすべてのファイルをバージョン管理の対象にしてチームと共有します。
このチュートリアルでは管理ロールを持つユーザーとして、チームの各開発者が開発作業に使用する環境を定義します。 作業項目を終了する前に各開発者は、データ ジェネレータを使用して現実的な架空のデータを更新されたスキーマに入力し、データベース単体テストを実行してスキーマの変更が想定したとおりに機能することを検証します。 作業項目が完了すると、各開発者は変更をバージョン管理にチェックインし、チームが変更を参照できるようにします。 変更をチェックインする前にテストを実行することによって、チームの各メンバは、全体に及ぶリスクを最小化します。
このチュートリアルでは、以下のタスクを行います。
新規データベース プロジェクト ウィザードを使用して既存のデータベースからデータベース プロジェクトを作成する方法
新規データベース プロジェクト ウィザードを使用してデータベース スキーマをインポートし、データベース プロジェクトのプロパティを指定し、ビルドのプロパティおよび配置のプロパティを指定する方法
インポート操作の結果を確認する方法
データ生成計画を作成し、それをカスタマイズして、より現実的なテスト データを生成する方法
プロジェクトをバージョン管理に追加する方法
前提条件
Visual Studio Team System Database Edition がインストールされていて、SQL Server 2005 の AdventureWorks2005 サンプル データベースに対するアクセス許可を持っている必要があります。 プロジェクトをバージョン管理に追加するには、Visual Studio Team System Team Foundation Server や Visual SourceSafe などのバージョン管理ソフトウェアがインストールされている必要があります。
AdventureWorks2005 サンプル データベースをインストールする方法については、CodePlex の Web サイトの「Microsoft SQL Server Product Samples」を参照してください。
データベース プロジェクトを作成するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスが表示されます。
[プロジェクトの種類] の [データベース プロジェクト] ノードを展開し、[SQL Server 2005] をクリックします。
[テンプレート] ボックスの一覧の [SQL Server 2005 ウィザード] をクリックします。
[名前] ボックスに「AdvWorksSandbox」と入力します。
既定の [場所] および [ソリューション名] を受け入れます。
[ソリューションのディレクトリを作成] チェック ボックスがまだオンでない場合は、オンにします。
[ソース管理に追加] チェック ボックスがまだオフになっていない場合はオフにし、[OK] をクリックします。
新規データベース プロジェクト ウィザードが表示されます。 次に、ウィザードを使用してデータベース プロジェクトを構成し、初期データベース スキーマをインポートします。
プロジェクトを構成し、データベース スキーマをインポートするには
[ようこそ] ページを読んでから、[次へ] をクリックします。
[管理対象のデータベース プロジェクトをユーザー定義のデータベースに変更する] が選択されていることを確認します。
[SQL スクリプト ファイル] で、[スキーマ別] が選択されていることを確認し、[次へ] をクリックします。
重要 : プロジェクトの作成後は、プロジェクトの編成を変更できません。
[データベース オプションの設定] ページの [データベース プロジェクト内で作成するオブジェクトに使用する、既定のスキーマを指定してください] に、「HumanResources」と入力し、[次へ] をクリックします。
メモ : これらのオプションは、プロジェクトの作成後に変更できます。 詳細については、「方法 : データベース プロジェクトのデータベース プロパティを構成する」を参照してください。
[データベース スキーマのインポート] ページの [既存のスキーマのインポート] チェック ボックスをオンにします。
[ソース データベース接続] ボックスの一覧で、サーバーおよび AdventureWorks2005 データベースに対応する接続をクリックします。 接続がまだ存在しない場合は、[新しい接続] をクリックして作成します。 接続を指定しない場合、データベース プロジェクトは作成されますが、スキーマはインポートされません。
メモ : データベース プロジェクトにまだデータベース オブジェクトがない場合は、データベース スキーマを後からインポートできます。 詳細については、「方法 : データベース オブジェクトおよび設定をインポートする」を参照してください。
オブジェクトと設定をインポートする既定のオプションを受け入れ、[次へ] をクリックします。
[ビルドと配置の構成] ページの [ターゲット接続] の [編集] をクリックし、分離開発環境を作成するデータベース サーバーへの接続を指定します。
[ターゲット データベース名] が指定されていない場合は、「AdvWorksSandbox」と入力します。
[既定の配置照合順序] ボックスの一覧の [プロジェクトの照合順序を使用] をクリックします。
この手順により、ターゲット データベースの開発環境でデータベース プロジェクトと同じ照合順序が使用されるようになります。
[データ損失が発生する場合に増分配置をブロック] チェック ボックスをオフにします。
分離開発環境には生成されたテスト データのみが格納されるため、データが失われても問題ありません。
[完了] をクリックして、データベース プロジェクトを作成し、データベースをインポートします。
データベース プロジェクトが作成されます。 この処理には数分かかることがあります。
概要結果を確認し、[完了] をクリックします。
バックグラウンドでは、Database Edition によるデータベース スキーマの分析が継続されています。 次に、作成したデータベース プロジェクトを確認します。
作成されたプロジェクトを確認するには
ソリューション エクスプローラで [AdvWorksSandbox] ノードを展開し、スキーマ オブジェクトの子ノードを展開します。
階層内で [スキーマ オブジェクト] ノードの下にあるサブノードを調べます。
ソリューション エクスプローラには、オブジェクトのインポート元のデータベースのスキーマ内にあるオブジェクトを定義するファイルが表示されます。
[表示] メニューの [スキーマ ビュー] をクリックします。
スキーマ ビューで、[AdvWorksSandbox] ノードを展開します。
階層内で [AdvWorksSandbox] ノードの下にあるサブノードを調べます。
スキーマ ビューには、ソリューション エクスプローラに表示されるファイルで定義されているオブジェクトが表示されます。
ソリューション エクスプローラで、[AdvWorksSandbox] ノードをクリックします。
[プロジェクト] メニューの [AdvWorksSandbox のプロパティ] をクリックします。
[プロパティ] ページの [配置] タブをクリックします。
[ターゲット データベース名] が指定されていない場合は、「AdvWorksSandbox」と入力します。
[ファイル] メニューの [選択されたファイルを上書き保存] をクリックします。
各開発者は、データベースの自分のコピーをホストするデータベース サーバーへの接続文字列を指定します。
プロジェクトを分離開発環境に配置するには
ソリューション エクスプローラで、[AdvWorksSandbox] ノードをクリックします。
[プロジェクト] メニューの [AdvWorksSandbox のプロパティ] をクリックします。
プロジェクトのプロパティ ウィンドウが表示されます。
[配置] タブをクリックします。
[配置動作] ボックスの一覧の [配置スクリプト (.sql) を作成してデータベースに配置します] をクリックします。
[ビルド] メニューの [ProjectName の配置] をクリックします。
データベース プロジェクトのビルド スクリプトが生成され、分離開発環境をホストすることを選択したデータベース サーバーに配置されます。 配置が完了すると、"配置に成功しました。" というメッセージが [出力] ウィンドウに表示されます。
次に、隔離された開発用データベースに現実的なテスト データを入力するためのデータ生成計画を指定します。
テスト データの生成
開発用の隔離されたデータベースはできました。次は、単体テストを進めるためのテスト データが必要です。 最初に、既定のデータ生成計画を作成し、その計画をカスタマイズして、より現実的なデータを作成します。 この例では、データベースのテーブルと列のサブセットのみに対するデータ生成を構成します。 Employee テーブルと StateProvince テーブルのデータ生成を構成します。
StateProvince テーブルの元のデータは機密ではないため、隔離された開発データベースのデータ設定に元のデータを使用することができます。
ただし、Employee テーブルの既定の生成計画は次のように変更してください。
Title は、開発者、上級開発者、テスト担当者、上級テスト担当者、プロジェクト マネージャ、販売員、上級販売員のいずれかにしてください。
BirthDate は 18 年以上前で、1930 年 1 月 1 日以降に設定してください。 この指定はデータベースの列に対する制約と一致します。
Marital Status は、「M」または「S」にします。
Gender は、「M」または「F」にします。
HireDate は、今日以前で 2000 年 1 月 1 日以降にします。
VacationHours は、範囲 -10 ~ 160 の典型的な分布にします。
ModifiedDate は、今日以前で 2000 年 1 月 1 日以降にします。ほとんどのレコードが最近更新されたレコードになります。
Contact テーブルの AdditionalContactInfo は、AdventureWorks ソース データベースのデータから取り込みます。
データ生成計画を作成するには
ソリューション エクスプローラで [AdvWorksSandbox] ノードを展開し、Data Generation Plans フォルダをクリックします。
[プロジェクト] メニューの [新しい項目の追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスが表示されます。
[テンプレート] ボックスの一覧で、[データ生成計画] をクリックします。
[名前] に「AWGenPlan.dgen」と入力し、[追加] をクリックします。
"AWGenPlan" という名前のデータ生成計画がデータベース プロジェクトに追加され、エディタで開かれます。 データベース スキーマが、データ生成計画内にインポートされます。
次に、AWGenPlan を変更して、より現実的なテスト データを生成します。
データ生成を関心のあるテーブルに制限するには
データ生成計画を右クリックし、[データ生成からすべてのテーブルを除外] をクリックします。
データ生成計画で、HumanResources.Employee、Person.Contact、Person.CountryRegion、および Person.StateProvince の各テーブルのチェック ボックスをオンにします。
次に、StateProvince テーブルのデータ生成計画を定義します。
StateProvince テーブルのデータ生成計画を定義するには
データ生成計画の [[Person].[StateProvince]] をクリックします。
列の詳細ペインの [StateProvinceCode] をクリックし、[ジェネレータ] フィールドを [データ バインド ジェネレータ] に設定します。
この手順は、この列にクエリの結果を代入することを示しています。
[表示] メニューの [プロパティ ウィンドウ] をクリックします。
[プロパティ] ウィンドウの [ジェネレータ] セクションの [接続情報] プロパティで、前の手順でデータベース スキーマのインポート元だったデータベースに対応する接続をクリックします。
この手順により、この列用のデータを生成するクエリを実行するために使用するデータベース接続が指定されます。
[プロパティ] ウィンドウの [ジェネレータ] セクションの [クエリの選択] プロパティで、クエリ文字列を「SELECT [StateProvinceCode] FROM [Person].[StateProvince]」に設定します。
列の詳細ペインの [変更された日付] をクリックします。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[最大値] プロパティを今日の日付に設定します。将来レコードが変更されることはあり得ないためです。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[最小値] プロパティを「1/1/2000 12:00:00 AM」に設定します。この例では、企業が 2000 年の年初からデータ収集を開始したと想定しています。
次に、Contact テーブルのデータ生成計画を指定します。
Contact テーブルのデータ生成計画を定義するには
データ生成計画の [[Person].[Contact]] をクリックします。
列の詳細ペインの [AdditionalContactInfo] をクリックし、[ジェネレータ] フィールドを [データ バインド ジェネレータ] に設定します。
この手順は、この列にクエリの結果を代入することを示しています。
[表示] メニューの [プロパティ ウィンドウ] をクリックします。
[プロパティ] ウィンドウの [ジェネレータ] セクションの [接続情報] プロパティで、前の手順でデータベース スキーマのインポート元だったデータベースに対応する接続をクリックします。
この手順により、この列用のデータを生成するクエリを実行するために使用するデータベース接続が指定されます。
[プロパティ] ウィンドウの [ジェネレータ] セクションの [クエリの選択] プロパティで、クエリ文字列を「SELECT * FROM [Person].[Contact]」に設定します。
[列の詳細] ペインにある AdditionalContactInfo の "ジェネレータ出力" フィールドで、[[AdditionalContactInfo]] をクリックします。
この手順により、結果セット内の、この列に関連付ける列が選択されます。
列の詳細ペインの [変更された日付] をクリックします。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[最大値] プロパティを今日の日付に設定します。将来レコードが変更されることはあり得ないためです。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[最小値] プロパティを「1/1/2000 12:00:00 AM」に設定します。この例では、企業が 2000 年の年初からデータ収集を開始したと想定しています。
次に、Employee テーブルのデータ生成計画を指定します。
Employee テーブルのデータ生成計画を定義するには
データ生成計画の [[HumanResources].[Employee]] をクリックします。
列の詳細ペインの [Title] をクリックし、"ジェネレータ" フィールドを [正規表現] に設定します。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、Expression プロパティを「(Developer|Sr\. Developer|Tester|Sr\. Tester|Project Manager|Sales Associate|Sr\. Sales Associate)」に設定します。
列の詳細ペインの [BirthDate] をクリックします。 [ジェネレータ] フィールドは、既定では [DateTime] に設定されます。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[最大値] プロパティを 18 年前の今日の日付 (「10/30/1987 11:59:59 PM」など) に設定します。 また、[最小値] プロパティを「1/1/1930 12:00:00 AM」に設定します。
列の詳細ペインの [MaritalStatus] をクリックし、[ジェネレータ] フィールドを [正規表現] に設定します。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[式] プロパティを「(M|S)」に設定します。
列の詳細ペインの [Gender] をクリックし、[ジェネレータ] フィールドを [正規表現] に設定します。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[式] プロパティを「(M|F)」に設定します。
列の詳細ペインの [HireDate] をクリックします。 [ジェネレータ] フィールドは、既定では [DateTime] に設定されます。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[最大値] プロパティを今日の日付 (「10/30/2006 11:59:59 PM」など) に設定します。 また、[最小値] プロパティを「1/1/2000 12:00:00 AM」に設定します。
列の詳細ペインの [VacationHours] をクリックします。 [ジェネレータ] フィールドは、既定では [SmallInt] に設定されます。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、Distribution プロパティを「Normal」に設定します。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、Max プロパティを「160」に、[最小値] プロパティを「-10」に設定します。
列の詳細ペインの [ModifiedDate] をクリックします。 [ジェネレータ] フィールドは、既定では [DateTime] に設定されます。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、[ディストリビューション] プロパティを「ExponentialInverse」に設定します。 また、[最大値] プロパティを今日の日付 (「10/30/2006 11:59:59 PM」など) に、[最小値] プロパティを「1/1/2000 12:00:00 AM」に設定します。
列の詳細ペインの [ManagerID] をクリックし、[ジェネレータ] フィールドを [SmallInt] に設定します。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、Distribution プロパティを「Normal」に設定します。
[プロパティ] ウィンドウの [ジェネレータ] セクションで、Max プロパティを「25」に、Min プロパティを「1」に設定します。
次に、これらのテーブルに生成される行数を調整します。
生成する行数を調整するには
データ生成計画の [[Person].[CountryRegion]] をクリックします。
[挿入行] フィールドに「10」と入力します。
データ生成計画の [[HumanResources].[Employee]] をクリックします。
[挿入行] フィールドに「25」と入力します。
データ生成計画の [[Person].[StateProvince]] をクリックします。
[関連テーブル] フィールドの [[Person].[CountryRegion]] をクリックします。
[関連テーブルに対する比率] フィールドに「2:1」と入力します。
この手順により、[Person].[StateProvince] テーブルに [Person].[CountryRegion] テーブルの 2 倍の行数を生成することが指定されます。
[ファイル] メニューの [AWGenPlan.dgen の保存] をクリックし、データ生成計画への変更を保存します。
データの生成をプレビューしてテスト データを生成するには
HumanResources.Employee テーブルには、データの生成を複数回実行した場合にその動作に干渉する可能性のあるトリガが存在します。 自動化されたテスト実行の一環としてデータの生成を行う場合、単体テストではこれらのトリガを無効にしておく必要があります (後で有効にします)。
この手順の中でデータの生成を複数回実行する場合は、「データ生成の前後に Employee テーブルのトリガを有効/無効にするには」で説明されている手順に従う必要があります。 データの生成を 1 回だけ実行する場合は、「データ生成計画の結果を検証するには」の手順に従います。
データの生成をプレビューしてテスト データを生成するには
[データ] メニューの [データ ジェネレータ] をポイントし、[データ生成のプレビュー] をクリックします。
[データ生成プレビュー] ウィンドウが開き、生成されるデータのサンプルが表示されます。このデータが、指定した条件を満たしていない場合は、次の手順に進みます。データ生成計画を調整する必要がある場合は、適宜変更を加えた後でこの手順を繰り返します。
[データ] メニューの [データ ジェネレータ] をポイントし、[データの生成] をクリックします。
[ターゲット データベースに対するデータの生成] ダイアログ ボックスが表示されます。
[ターゲット データベース] で、AdvWorksSandbox データベースへの接続をクリックし、[OK] をクリックします。
"新しい行を挿入する前に、選択されたテーブルの内容を消去しますか?" というメッセージが表示されたら、[はい] をクリックします。
指定した条件に従ってデータが生成されます。データの生成に成功した場合、すべてのデータが正常に生成されたことを示す緑色のチェック マークが各行に表示されます。データが生成されなかった場合、[エラー一覧] ウィンドウにエラーが表示されます。
「データ生成計画の結果を検証するには」の手順に進みます。
データ生成の前後に Employee テーブルのトリガを有効/無効にするには
データを生成する前に、[データ] メニューの [T-SQL エディタ] を開き、[新しいクエリ接続] をクリックします。
分離開発環境のデータベースに対する接続が存在する場合は、手順 7. に進みます。
[新しい接続] をクリックします。
[接続のプロパティ] ダイアログ ボックスが表示されます。
[サーバー名] で、データベースが配置されているデータベース サーバーの名前 ((local)\SQLExpress など) を入力するかクリックします。
[サーバーにログオンする] の [Windows 認証を使用する] をクリックします。
[データベースへの接続] で [データベース名の選択または入力] をクリックし、「AdvWorksSandbox」と入力して [OK] をクリックします。
接続が作成され、[データベースへの接続] ダイアログ ボックスに表示されます。
[データベースへの接続] ダイアログ ボックスで、分離開発環境のデータベースに対応する接続文字列をクリックし、[OK] をクリックします。
Transact-SQL (T-SQL) エディタが表示され、AdvWorksSandbox データベースに接続できる状態になります。
[OK] をクリックします。
Transact-SQL (T-SQL) エディタが表示されます。
T-SQL エディタで、次の T-SQL を入力します。
DISABLE TRIGGER dEmployee on [HumanResources].[Employee]; GO
[T-SQL エディタ] ツール バーの [SQL の実行] をクリックします。
[メッセージ] タブに次のように表示されます。
コマンドは正常に完了しました。
データ生成計画が表示されているウィンドウをクリックします。
[データ] メニューの [データ ジェネレータ] をポイントし、[データ生成のプレビュー] をクリックします。
[データ生成プレビュー] ウィンドウが開き、生成されるデータのサンプルが表示されます。このデータが、指定した条件を満たしていない場合は、次の手順に進みます。データ生成計画を調整する必要がある場合は、適宜変更を加えた後でこの手順を繰り返します。
[データ] メニューの [データ ジェネレータ] をポイントし、[データの生成] をクリックします。
[ターゲット データベースに対するデータの生成] ダイアログ ボックスが表示されます。
[ターゲット データベース] で、AdvWorksSandbox データベースへの接続をクリックし、[OK] をクリックします。
"新しい行を挿入する前に、選択されたテーブルの内容を消去しますか?" というメッセージが表示されたら、[はい] をクリックします。
指定した条件に従ってデータが生成されます。データの生成に成功した場合、すべてのデータが正常に生成されたことを示す緑色のチェック マークが各行に表示されます。データが生成されなかった場合、[エラー一覧] ウィンドウにエラーが表示されます。
[T-SQL エディタ] ウィンドウをクリックします。
T-SQL エディタで、既存のステートメントを次の T-SQL で置き換えます。
ENABLE TRIGGER dEmployee on [HumanResources].[Employee]; GO
[T-SQL エディタ] ツール バーの [SQL の実行] をクリックします。
[メッセージ] タブに次のように表示されます。
コマンドは正常に完了しました。
これでトリガが有効になります。
データ生成計画の結果を検証するには
[データ] メニューの [T-SQL エディタ] をポイントし、[新しいクエリ] をクリックします。
[データベースへの接続] ダイアログ ボックスが表示されます。
分離開発環境のデータベースに対する接続が存在する場合は、手順 8. に進みます。
[新しい接続] をクリックします。
[接続のプロパティ] ダイアログ ボックスが表示されます。
[サーバー名] で、データベースが配置されているデータベース サーバーの名前 ((local)\SQLExpress など) を入力するかクリックします。
[サーバーにログオンする] の [Windows 認証を使用する] をクリックします。
[データベースへの接続] で [データベース名の選択または入力] をクリックし、「AdvWorksSandbox」と入力して [OK] をクリックします。
接続が作成され、[データベースへの接続] ダイアログ ボックスに表示されます。
[データベースへの接続] ダイアログ ボックスで、分離開発環境のデータベースに対応する接続文字列をクリックし、[OK] をクリックします。
Transact-SQL (T-SQL) エディタが表示され、AdvWorksSandbox データベースに接続できる状態になります。
T-SQL エディタで次のように入力します。
SELECT * from HumanResources.Employee;
F5 キーを押してクエリを実行します。
結果ペインが表示され、データ生成の結果が表示されます。
[ファイル] メニューの [閉じる] をクリックして、T-SQL エディタを閉じます。
これで、現実的なテスト データを提供するために必要なデータベース プロジェクトの定義、運用データベースからのスキーマのインポート、およびデータ生成規則の指定が完了しました。 チームのメンバが利用できるようにソリューションをバージョン管理に追加することができます。
チームでのプロジェクトの利用
プロジェクトをバージョン管理に追加するには
ソリューション エクスプローラで、[AdvWorksSandbox] ノードをクリックします。
[ファイル] メニューの [ソース管理] をポイントし、[ソリューションをソース管理に追加] をクリックします。
ここで、インストール済みのバージョン管理ソフトウェアを使用して操作します。 このチュートリアルでは、Team Foundation Server にプロジェクトを追加する手順について説明します。 異なるバージョン管理ソフトウェアを使用する場合、同等の手順を実行してください。 Team Foundation Server を使用している場合は、[Team Foundation Server に接続] ダイアログ ボックスが表示されます。
[Team Foundation Server に接続] で、ソリューションを追加するチーム プロジェクトが格納されているサーバーをクリックします。
メモ : データベース プロジェクトを追加できるチーム プロジェクトがない場合は、「チーム エクスプローラでのチーム プロジェクトの管理」を参照してください。
[チーム プロジェクト] で、データベース プロジェクトを追加するチーム プロジェクトをクリックし、[OK] をクリックします。
[ソリューション AdvWorksSandbox をソース管理に追加] ダイアログ ボックスが表示されます。
[OK] をクリックして既定値を受け入れます。
データベース プロジェクトおよびそれを格納するファイルがバージョン管理されます。 最初は、これらはまだチェックアウトされています。 他のチーム メンバがアクセスする前にチェックインする必要があります。
[表示] メニューの [その他のウィンドウ] をポイントし、[保留中の変更] をクリックします。
[保留中の変更] ウィンドウが表示されます。
[コメント] フィールドに、「Initial database project creation, schema import, and data generation」と入力します。
[保留中の変更] ウィンドウで、ツール バーの [チェックイン] をクリックします。
データベース プロジェクトおよびそれを格納するファイルがチェックインされるときに、[チェックインの進行状況] ダイアログ ボックスが表示されます。ソリューション エクスプローラ内のアイコンが更新されて、ファイルがバージョン管理にチェックインされていることを示します。
次の手順
データベース プロジェクトはバージョン管理にチェックインされました。次の手順は、チームが変更を開始する前に品質保証の方策を確立することです。 次の入門用チュートリアル「チュートリアル : 分離開発環境のベースライン設定」では、単体テストを作成し、分離開発環境でビルド、配置、および実行します。
参照
処理手順
方法 : データベース プロジェクトおよびサーバー プロジェクトを作成する