方法: サーバー オブジェクトと設定をインポートする
サーバー プロジェクトを作成し、そこにオブジェクトと設定をインポートし、それをバージョン コントロールすることで、データベース サーバー上のオブジェクトと設定に対する変更を管理できます。 新規データベース プロジェクト ウィザードを使用すると、プロジェクトを作成するときにオブジェクトと設定のインポート元にするサーバーを指定できます。 オブジェクトと設定のインポートは、データベースのインポート ウィザードを使用するか、コマンド ウィンドウからオートメーション コマンドを使用することにより実行できます。 詳細については、「方法: データベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。 別の方法として、空のサーバー プロジェクトを作成し、後でオブジェクトと設定をインポートすることもできます。
必要なアクセス許可
オブジェクトと設定のインポート元にするサーバーにアクセスする権限を持っている必要があります。 多くの開発環境では、データベース管理者ロール内の担当者がサーバー プロジェクトを作成し、オブジェクトと設定をインポートします。 その後、この担当者から開発作業のチームにそのプロジェクトが渡されます。
データベースのインポート ウィザードを使用してサーバーのオブジェクトと設定をインポートするには
サーバー プロジェクトを作成するか、オブジェクトがまだ含まれていない既存のサーバー プロジェクトを開きます。 詳細については、「方法: 空のデータベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。
ソリューション エクスプローラーに、サーバー プロジェクトを含むソリューションが表示されます。
スキーマ ビューで、オブジェクトと設定をインポートするサーバー プロジェクトをクリックします。
スキーマ ビューが表示されない場合は、[表示] メニューを開き、[データベース スキーマ ビュー] をクリックします。
[プロジェクト] メニューの [オブジェクトと設定のインポート] (オブジェクトと設定のインポート) をクリックします。
データベースのインポート ウィザードが表示されます。
[ソース データベース接続] で、オブジェクトと設定のインポートで使用する接続をクリックします。 接続が表示されない場合は、[新しい接続] をクリックして接続を作成します。
サーバー エクスプローラーまたは Visual Studio Premium 内のその他の場所で、接続を作成できます。 詳細については、「方法 : データベース接続を作成する」を参照してください。
(省略可能) [オプションのインポート] で、次のいずれか 1 つ以上を実行します。
列の照合順序がデータベース照合順序と一致しない場合にのみ、列の照合順序が明示的に指定されるように制限できます。 この制限を作成するには、[データベース照合順序と異なる場合にのみ、列の照合順序をスクリプトに記述する] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。
ソース データベースおよびその内容の拡張プロパティをインポートする場合は、[拡張プロパティのインポート] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。
たとえば、MyTable という名前のテーブルをインポートできます。 このアクションにより、sp_addextendedproperty ステートメントが MyTable.table.sql ファイルに追加されます。 これらのステートメントには、sp_addextendedproperty、sp_settriggerorder、sp_tableoption、sp_indexoption などがあります。 詳細については、Microsoft Web サイトの「sp_addextendedproperty (Transact-SQL)」のこれに関するトピックを参照してください。
ログ ファイルとファイル グループのサイズをインポートする場合は、[インポート ログとファイル グループ サイズ] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。
ソース データベースから権限をインポートする場合は、[アクセス許可のインポート] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。
権限をインポートする場合、それらの権限をデータベース プロジェクトのモデルに追加するかどうかを指定できます。 モデルに権限を追加すると、データベース プロジェクトによる読み込みの速度は低下します。
ソース データベースの設定に合わせてデータベース プロジェクトの設定を更新する場合は、[インポートしたスキーマの設定でデータベース構成をオーバーライドする] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。
プロジェクト内の各フォルダーに格納されるデータベース オブジェクトの数を制限することで、データベース プロジェクトを開いて作業するためにかかる時間を短くできます。 [ディレクトリごとの最大ファイル数] ボックスの一覧で、ディスク上の 1 つのディレクトリに対して許可するファイル数をクリックします。
[開始] をクリックしてオブジェクトと設定をインポートします。
重要
"マスター" 以外のデータベースからオブジェクトと設定をインポートする場合、次の警告が表示されます。"このサーバー プロジェクトにデータベース オブジェクトをインポートしてからプロジェクトを配置すると、すべてのオブジェクトは 'master' データベースに配置されます。 このサーバー プロジェクトにデータベース オブジェクトをインポートしますか?"
[エラー一覧] ウィンドウに、インポートしたオブジェクトに関連するエラーが表示されます。 Visual Studio のステータス バーに、すべてのオブジェクトと設定がインポートされたことが示されます。 その他のエラーは、ウィザードの概要ページに表示され、また、プロジェクト フォルダーのログ ファイルにも書き込まれます。
プロジェクトをビルドして配置する前に、プロジェクトの設定を構成する必要があります。 詳細については、「データベースのビルドおよび分離開発環境への配置」を参照してください。
Visual Studio のオートメーション モデルを使用してサーバーのオブジェクトと設定をインポートするには
サーバー プロジェクトを作成するか、データベース オブジェクトがまだ含まれていないサーバー プロジェクトを開きます。
詳細については、「方法: 空のデータベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。
注意
新規データベース プロジェクト ウィザードを使用すると、プロジェクトの作成とスキーマのインポートを同時に実行できます。 詳細については、「方法: データベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。
[表示] メニューを開き、[その他のウィンドウ] をポイントし、[コマンド ウィンドウ] をクリックします。
コマンド ウィンドウで、次のコマンドを入力します。
Project.ImportDatabaseSchema /ConnectionString "YourConnectionInfo"
YourConnectionInfo を、インポート元データベースへの接続に使用する接続文字列で置き換えてください。 サーバーのオブジェクトと設定をインポートするときは、接続文字列に "マスター" データベースを指定する必要があります。
注意
コマンドに対して、インポート操作を制御する追加オプションを指定できます。 詳細については、「Visual Studio のデータベース機能のオートメーション コマンド リファレンス」を参照してください。 接続を指定しない場合、データベースのインポート ウィザードが表示されます。
コマンドを実行すると、指定したサーバーからソリューション エクスプローラーで選択したデータベース プロジェクトにオブジェクトと設定がインポートされます。 [エラー一覧] ウィンドウに、インポートされたオブジェクトに関連するエラーが表示されます。
この時点で、サーバー プロジェクトをビルドおよび配置する前に、プロジェクトの設定を構成する必要があります。 詳細については、「方法: サーバー プロジェクトのサーバー プロパティを設定する」を参照してください。