方法: サーバー オブジェクトと設定をインポートする

サーバー プロジェクトを作成し、そこにオブジェクトと設定をインポートし、それをバージョン コントロールすることで、データベース サーバー上のオブジェクトと設定に対する変更を管理できます。 新規データベース プロジェクト ウィザードを使用すると、プロジェクトを作成するときにオブジェクトと設定のインポート元にするサーバーを指定できます。 オブジェクトと設定のインポートは、データベースのインポート ウィザードを使用するか、コマンド ウィンドウからオートメーション コマンドを使用することにより実行できます。 詳細については、「方法: データベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。 別の方法として、空のサーバー プロジェクトを作成し、後でオブジェクトと設定をインポートすることもできます。

必要なアクセス許可

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

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

  1. サーバー プロジェクトを作成するか、オブジェクトがまだ含まれていない既存のサーバー プロジェクトを開きます。 詳細については、「方法: 空のデータベース プロジェクトおよびサーバー プロジェクトを作成する」を参照してください。

    ソリューション エクスプローラーに、サーバー プロジェクトを含むソリューションが表示されます。

  2. スキーマ ビューで、オブジェクトと設定をインポートするサーバー プロジェクトをクリックします。

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

  3. [プロジェクト] メニューの [オブジェクトと設定のインポート] (オブジェクトと設定のインポート) をクリックします。

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

  4. [ソース データベース接続] で、オブジェクトと設定のインポートで使用する接続をクリックします。 接続が表示されない場合は、[新しい接続] をクリックして接続を作成します。

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

  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. [開始] をクリックしてオブジェクトと設定をインポートします。

    重要

    "マスター" 以外のデータベースからオブジェクトと設定をインポートする場合、次の警告が表示されます。"このサーバー プロジェクトにデータベース オブジェクトをインポートしてからプロジェクトを配置すると、すべてのオブジェクトは 'master' データベースに配置されます。 このサーバー プロジェクトにデータベース オブジェクトをインポートしますか?"

    [エラー一覧] ウィンドウに、インポートしたオブジェクトに関連するエラーが表示されます。 Visual Studio のステータス バーに、すべてのオブジェクトと設定がインポートされたことが示されます。 その他のエラーは、ウィザードの概要ページに表示され、また、プロジェクト フォルダーのログ ファイルにも書き込まれます。

  7. プロジェクトをビルドして配置する前に、プロジェクトの設定を構成する必要があります。 詳細については、「データベースのビルドおよび分離開発環境への配置」を参照してください。

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

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

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

    注意

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

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

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

    Project.ImportDatabaseSchema /ConnectionString "YourConnectionInfo"
    

    YourConnectionInfo を、インポート元データベースへの接続に使用する接続文字列で置き換えてください。 サーバーのオブジェクトと設定をインポートするときは、接続文字列に "マスター" データベースを指定する必要があります。

    注意

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

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

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

参照

処理手順

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

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