DAC を使用したデータベースの配置

適用対象:SQL ServerAzure SQL Database

データベース エンジンのインスタンスと Azure SQL Database サーバー間、または 2 つのAzure SQL データベースサーバー間でデータベースをデプロイするには、[データベースを Microsoft Azure SQL Database にデプロイ] ウィザードを使用します。

始める前に

このウィザードでは、データ層アプリケーション (DAC) の BACPAC アーカイブ ファイルを使用して、データおよびデータベース オブジェクトの定義を配置します。 ウィザードでは、ソース データベースからの DAC エクスポート操作と、配置先への DAC インポート操作を実行します。

データベースのオプションと設定

既定では、配置中に作成されるデータベースには、CREATE DATABASE ステートメントの既定の設定が適用されます。 ただし、データベースの照合順序と互換性レベルはソース データベースの値に設定されます。

TRUSTWORTHY、DB_CHAINING、HONOR_BROKER_PRIORITY などのデータベース オプションは、配置プロセスで調整できません。 ファイル グループの数、ファイルの数やサイズなどの物理プロパティは、配置作業中に変更することはできません。 デプロイが完了すれば、ALTER DATABASE ステートメント、SQL Server Management Studio、または SQL Server PowerShell を使用して、データベースを調整できます。

制限事項と制約事項

データベース配置 ウィザードでサポートされるデータベースの配置は次のとおりです。

  • データベース エンジンのインスタンスから Azure SQL Database へ。

  • Azure SQL Database からデータベース エンジンのインスタンスへ。

  • 2 つの Azure SQL Database サーバー間 。

データベース エンジンの 2 つのインスタンス間でのデータベースのデプロイはサポートされません。

ウィザードを使用するには、データベース エンジンのインスタンスで SQL Server 2005 (9.x) Service Pack 4 (SP4) 以降を実行している必要があります。 データベース エンジンのインスタンス上のデータベースに Azure SQL Database でサポートされていないオブジェクトが含まれている場合、ウィザードを使用して Azure SQL Database にデータベースを配置することはできません。 また、Azure SQL 上のデータベースに SQL Server でサポートされていないオブジェクトが含まれている場合、ウィザードを使用して SQL Server のインスタンスにデータベースをデプロイすることはできません。

セキュリティ

セキュリティを強化するために、SQL Server 認証のログインは、パスワードなしで DAC BACPAC ファイルに格納されます。 BACPAC をインポートすると、ログインはパスワードが生成された無効なログインとして作成されます。 ログインを有効にするには、ALTER ANY LOGIN 権限を持つユーザーとしてログインし、ALTER LOGIN を使用してログインを有効にします。さらに、新しいパスワードを割り当て、そのパスワードを該当ユーザーに通知します。 Windows 認証ログインの場合、ログインのパスワードは SQL Server で管理されていないため、この操作は必要ありません。

アクセス許可

ウィザードでは、ソース データベースに対する DAC エクスポート権限が必要となります。 ログインには、ALTER ANY LOGIN 権限とデータベース スコープの VIEW DEFINITION 権限、および sys.sql_expression_dependenciesに対する SELECT 権限が少なくとも必要です。 DAC をエクスポートできるのは、DAC をエクスポートするデータベースの database_owner 固定データベース ロールのメンバーでもある、securityadmin 固定サーバー ロールのメンバーです。 sysadmin 固定サーバー ロールのメンバーまたは sa という組み込みの SQL Server システム管理者アカウントも DAC をエクスポートできます。

ウィザードでは、配置先インスタンスまたはサーバーに対する DAC インポート権限が必要となります。 ログインは、 sysadmin または serveradmin 固定サーバー ロールのメンバーであるか、 dbcreator 固定サーバー ロールに属し、ALTER ANY LOGIN 権限を持っている必要があります。 あらかじめ登録された SQL Server システム管理者アカウント sa も DAC をインポートできます。 SQL Database へのログインが含まれる DAC をインポートするには、loginmanager ロールまたは serveradmin ロールのメンバーシップが必要です。 SQL Database へのログインが含まれない DAC をインポートするには、dbmanager ロールまたは serveradmin ロールのメンバーシップが必要です。

データベース配置ウィザードの使用

データベース配置ウィザードを使用してデータベースを移行するには

  1. データベースの配置先に接続します。 データベース エンジンのインスタンスまたは Azure SQL Database サーバーを指定できます。

  2. オブジェクト エクスプローラーで、データベースがあるインスタンスのノードを展開します。

  3. [データベース] ノードを展開します。

  4. デプロイするデータベースを右クリックして [タスク] を選択し、[データベースを Microsoft Azure SQL Database に配置] をクリックします。

  5. ウィザードの各ダイアログを完了します。

[説明] ページ

このページには、 データベース配置 ウィザードの手順が示されています。

[オプション]

  • [次回からこのページを表示しない] : 今後 [説明] ページを表示しないようにするには、このチェック ボックスをオンにします。

  • [次へ] : [配置設定] ページに進みます。

  • [キャンセル]: 操作を取り消し、ウィザードを閉じます。

[配置設定] ページ

このページを使用して、配置先サーバーと、新しいデータベースの詳細を指定します。

[ローカル ホスト]

  • [サーバー接続]: サーバー接続の詳細を指定し、[接続] をクリックして接続を検証します。

  • [新しいデータベース名]: 新しいデータベースの名前を指定します。

SQL Database データベースの設定:

  • [SQL Database のエディション]: SQL Database のエディションをドロップダウン メニューから選択します。

  • [データベースの最大サイズ (GB)]: データベースの最大サイズをドロップダウン メニューから選択します。

その他の設定:

  • 一時ファイル (BACPAC アーカイブ ファイル) のローカル ディレクトリを指定します。 このファイルは指定した場所に作成され、操作の完了後もそのまま残されます。

[概要] ページ

このページを使用すると、操作の指定ソースとターゲットの設定を確認できます。 指定した設定で配置操作を実行するには、 [完了]をクリックします。 配置操作をキャンセルしてウィザードを終了するには、 [キャンセル]をクリックします。

[進行状況] ページ

このページには、操作の進行状況を示す進行状況バーが表示されます。 詳細な状態を表示するには、 [詳細表示] をクリックします。

[結果] ページ

このページでは、配置操作の成功と失敗が報告され、各アクションの結果が示されます。 エラーが発生したアクションには、 [結果] 列にリンクが表示されます。 そのアクションのエラーのレポートを表示するには、リンクをクリックします。

[完了] をクリックして、ウィザードを終了します。

.Net Framework アプリケーションの使用

.Net Framework アプリケーションで DacStoreExport() メソッドおよび Import() メソッドを使用してデータベースを配置するには

  1. SMO サーバー オブジェクトを作成し、配置するデータベースがあるインスタンスまたはサーバーに設定します。

  2. ServerConnection オブジェクトを開いて、同じインスタンスに接続します。

  3. Microsoft.SqlServer.Management.Dac.DacStore 型の Export メソッドを使用して、データベースを BACPAC ファイルにエクスポートします。 エクスポートするデータベースの名前と、BACPAC ファイルの出力先となるフォルダーのパスを指定します。

  4. SMO サーバー オブジェクトを作成し、配置先インスタンスまたはサーバーに設定します。

  5. ServerConnection オブジェクトを開いて、同じインスタンスに接続します。

  6. Microsoft.SqlServer.Management.Dac.DacStore 型の Import メソッドを使用して、BACPAC をインポートします。 エクスポートによって作成された BACPAC ファイルを指定します。

参照

データ層アプリケーション
データ層アプリケーションのエクスポート
BACPAC ファイルのインポートによる新しいユーザー データベースの作成