次の方法で共有


データ層アプリケーションをエクスポートする

配置されたデータ層アプリケーション (DAC) またはデータベースをエクスポートすると、データベース内のオブジェクトの定義とテーブルに含まれるすべてのデータの両方を含むエクスポート ファイルが作成されます。 エクスポート ファイルは、データベース エンジンの別のインスタンスまたは Azure SQL Database にインポートできます。 エクスポート/インポート操作を組み合わせて、インスタンス間で DAC を移行したり、論理バックアップを作成したり、SQL Database にデプロイされたデータベースのオンプレミス コピーを作成したりできます。

開始する前に

エクスポート プロセスでは、DAC エクスポート ファイルが 2 段階でビルドされます。

  1. エクスポートでは、DAC 抽出によって DAC パッケージ ファイルに DAC 定義が作成されるのと同じ方法で、エクスポート ファイル (BACPAC ファイル) に DAC 定義が作成されます。 エクスポートされた DAC 定義には、現在のデータベース内のすべてのオブジェクトが含まれます。 エクスポート プロセスが DAC から最初に配置されたデータベースに対して実行され、配置後にデータベースに直接変更が加えられた場合、エクスポートされた定義は、元の DAC で定義されたものではなく、データベース内のオブジェクト セットと一致します。

  2. エクスポートでは、データベース内のすべてのテーブルからデータが一括コピーされ、データがエクスポート ファイルに組み込まれます。

エクスポート プロセスでは、DAC バージョンが 1.0.0.0 に設定され、エクスポート ファイル内の DAC の説明が空の文字列に設定されます。 データベースが DAC から配置された場合、エクスポート ファイル内の DAC 定義には元の DAC に指定された名前が含まれます。それ以外の場合は、DAC 名がデータベース名に設定されます。

制限事項と制約条件

DAC またはデータベースは、SQL Database または SQL Server 2005 Service Pack 4 (SP4) 以降のデータベースからのみエクスポートできます。

DAC でサポートされていないオブジェクトまたは包含ユーザーを含むデータベースをエクスポートすることはできません。 DAC でサポートされるオブジェクトの種類の詳細については、「 DAC Support For SQL Server Objects and Versions」を参照してください。

権限

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

データ層アプリケーションのエクスポート ウィザードの使用

ウィザードを使用して DAC をエクスポートするには

  1. オンプレミスでも SQL Database でも、SQL Server のインスタンスに接続します。

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

  3. データベース名を右クリックします。

  4. [タスク] をクリックし、[データ層アプリケーションのエクスポート...] を選択します。

  5. ウィザードの各ダイアログの手順を実行します。

概要ページ

このページでは、データ層アプリケーションのエクスポート ウィザードの手順について説明します。

[オプション]

このページをもう一度表示しないでください。 - このチェック ボックスをオンにすると、[概要] ページが今後表示されなくなります。

次へ - [ DAC パッケージの選択 ] ページに進みます。

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

[設定のエクスポート] ページ

このページを使用して、BACPAC ファイルを作成する場所を指定します。

  • ローカル ディスクに保存 - ローカル コンピューター上のディレクトリに BACPAC ファイルを作成します。 [ 参照... ] をクリックしてローカル コンピューターを移動するか、指定された領域のパスを指定します。 パス名には、ファイル名と .bacpac 拡張子を含める必要があります。

  • Azure に保存 - Azure コンテナーに BACPAC ファイルを作成します。 このオプションを検証するには、Azure コンテナーに接続する必要があります。 このオプションでは、一時ファイルのローカル ディレクトリも指定する必要があることに注意してください。 一時ファイルは指定した場所に作成され、操作が完了した後も残ります。

エクスポートするテーブルのサブセットを指定するには、[ 詳細設定 ] オプションを使用します。

[検証] ページ

検証ページを使用して、操作をブロックする問題を確認します。 続行するには、ブロッキングの問題を解決し、[ 検証の再実行 ] をクリックして検証が成功したことを確認します。

[Next] をクリックして先へ進みます。

[概要] ページ

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

[進行状況] ページ

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

結果ページ

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

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

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

.Net Framework アプリケーションで Export() メソッドを使用して DAC をエクスポートする。

コード例を表示するには、Codeplex で DAC サンプル アプリケーションをダウンロードします

  1. SMO サーバー オブジェクトを作成し、エクスポートする DAC を含むインスタンスに設定します。

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

  3. dac をエクスポートするには、Microsoft.SqlServer.Management.Dac.DacStore型のExportメソッドを使用します。 エクスポートする DAC の名前と、エクスポート ファイルを配置するフォルダーへのパスを指定します。

こちらもご覧ください

データ層アプリケーション
データベースからの DAC の抽出