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