次の方法で共有


方法: データベース オブジェクトと設定をインポートする

データベース オブジェクトの定義を既に含むデータベースを管理する場合、空のデータベース プロジェクトを作成し、使用しているデータベースのオブジェクトと設定をプロジェクトにインポートすることができます。 オブジェクトと設定のインポートは、データベースのインポート ウィザードを使用するか、コマンド ウィンドウからオートメーション コマンドを使用することにより実行できます。 データベース オブジェクトを空ではないプロジェクトに追加する場合、別の手順で追加オブジェクトをインポートするか、既存のオブジェクトを変更する必要があります。 詳細については、「方法 : 更新をデータベースからデータベース プロジェクトにインポートする」を参照してください。

注意

データベースからインポートする際、パスワードはインポートされません。 インポート操作の完了後、プロジェクトのパスワードはランダムな文字に設定されます。 スキーマを比較する場合に、パスワードの違いは報告されません。

必要なアクセス許可

オブジェクトと設定のインポート元にするデータベースにアクセスする権限を持っている必要があります。 多くの開発環境では、データベース管理者ロール内の担当者がデータベース プロジェクトを作成し、オブジェクトと設定をインポートしてから、開発作業のためにプロジェクトをチームに渡します。

データベースのインポート ウィザードを使用してデータベースのオブジェクトと設定をインポートするには

  1. データベース プロジェクトを作成するか、データベース オブジェクトがまだ含まれていないサーバー プロジェクトを開きます。

    詳細については、「方法: 空のデータベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。

    注意

    新規データベース プロジェクト ウィザードを使用すると、プロジェクトの作成とスキーマのインポートを同時に実行できます。 詳細については、「方法: データベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。

  2. スキーマ ビューが表示されない場合は、[表示] メニューを開き、[データベース スキーマ ビュー] をクリックします。

    スキーマ ビューが表示されます。

  3. スキーマ ビューで、データベース プロジェクトを右クリックし、[オブジェクトと設定のインポート] をクリックします。

    データベースのインポート ウィザードが表示されます。

  4. ソース データベース接続で、既存のデータベース サーバーから情報をインポートする接続をクリックします。 接続が表示されない場合は、[新しい接続] をクリックして接続を作成します。

    サーバー エクスプローラーや他のさまざまな場所で、データベース接続を作成できます。 詳細については、「方法 : データベース接続を作成する」を参照してください。

  5. (省略可能) [オプションのインポート] で、次のいずれか 1 つ以上を実行します。

    1. 列の照合順序がデータベース照合順序と一致しない場合にのみ、列の照合順序が明示的に指定されるように制限できます。 この制限を作成するには、[データベース照合順序と異なる場合にのみ、列の照合順序をスクリプトに記述する] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。

    2. ソース データベースおよびその内容の拡張プロパティをインポートする場合は、[拡張プロパティのインポート] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。

      たとえば、MyTable という名前のテーブルをインポートできます。 このアクションにより、sp_addextendedproperty ステートメントが MyTable.table.sql ファイルに追加されます。 これらのステートメントには、sp_addextendedproperty、sp_settriggerorder、sp_tableoption、sp_indexoption などがあります。 詳細については、Microsoft Web サイトの「sp_addextendedproperty (Transact-SQL)」のこれに関するトピックを参照してください。

    3. ログ ファイルとファイル グループのサイズをインポートする場合は、[インポート ログとファイル グループ サイズ] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。

    4. ソース データベースから権限をインポートする場合は、[アクセス許可のインポート] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。

      権限をインポートする場合、それらの権限をデータベース プロジェクトのモデルに追加するかどうかを指定できます。 モデルに権限を追加すると、データベース プロジェクトによる読み込みの速度は低下します。

    5. ソース データベースの設定に合わせてデータベース プロジェクトの設定を更新する場合は、[インポートしたスキーマの設定でデータベース構成をオーバーライドする] チェック ボックスをオンにします。 それ以外の場合は、チェック ボックスをオフにします。

    6. プロジェクト内の各フォルダーに格納されるデータベース オブジェクトの数を制限することで、データベース プロジェクトを開いて作業するためにかかる時間を短くできます。 [ディレクトリごとの最大ファイル数] ボックスの一覧で、ディスク上の 1 つのディレクトリに対して許可するファイル数をクリックします。

  6. [開始] をクリックしてスキーマをインポートします。

    [エラー一覧] ウィンドウには、スキーマのインポート時に作成されたオブジェクトに関連するエラーが表示されます。 スキーマがインポートされると、ステータス バーに、"ソース データベース: ServerName.DatabaseName からのデータベース スキーマのインポートを開始しました… データベース スキーマのインポートが完了しました" と表示されます。 その他のエラーは、ウィザードの概要ページに表示され、また、プロジェクト フォルダーのログ ファイルにも書き込まれます。

    この時点で、データベース プロジェクトをビルドおよび配置する前に、データベース プロジェクトの設定を構成しておく必要があります。 詳細については、「方法: データベース プロジェクトのデータベース プロパティを構成する」を参照してください。

Visual Studio のオートメーション モデルを使用してデータベースのオブジェクトと設定をインポートするには

  1. データベース プロジェクトを作成するか、データベース オブジェクトがまだ含まれていないサーバー プロジェクトを開きます。

    詳細については、「方法: 空のデータベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。

    注意

    新規データベース プロジェクト ウィザードを使用すると、プロジェクトの作成とスキーマのインポートを同時に実行できます。 詳細については、「方法: データベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。

  2. [表示] メニューを開き、[その他のウィンドウ] をポイントし、[コマンド ウィンドウ] をクリックします。

  3. コマンド ウィンドウで、次のコマンドを入力します。

    Project.ImportDatabaseSchema /ConnectionString "YourConnectionInfo"
    

    YourConnectionInfo を、インポート元データベースへの接続に使用する接続文字列で置き換えてください。

    注意

    コマンドに対して、インポート操作を制御する追加オプションを指定できます。 詳細については、「Visual Studio のデータベース機能のオートメーション コマンド リファレンス」を参照してください。 接続を指定しない場合、データベースのインポート ウィザードが表示されます。

    コマンドを実行すると、指定したデータベースからソリューション エクスプローラーで選択したデータベース プロジェクトにオブジェクトと設定がインポートされます。 [エラー一覧] ウィンドウには、スキーマのインポート時に作成されたオブジェクトに関連するエラーが表示されます。

    この時点で、データベース プロジェクトをビルドおよび配置する前に、データベース プロジェクトの設定を構成しておく必要があります。 詳細については、「方法: データベース プロジェクトのデータベース プロパティを構成する」を参照してください。

参照

処理手順

方法 : スクリプトからデータベース オブジェクトをインポートする

方法: データベース プロジェクトおよびサーバー プロジェクトを作成する

チュートリアル: 既存のデータベース スキーマのバージョン管理