データ層アプリケーションのエクスポートExport a Data-tier Application

適用対象: ○SQL Server ○Azure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

配置されているデータ層アプリケーション (DAC) またはデータベースをエクスポートすると、エクスポート ファイルが作成されます。このファイルには、データベース内のオブジェクトの定義に加え、テーブルに格納されているすべてのデータが含まれています。Exporting a deployed data-tier application (DAC) or database creates an export file that includes both the definitions of the objects in the database and all of the data contained in the tables. さらに、このエクスポート ファイルを データベース エンジンDatabase Engineの別のインスタンスまたは Azure SQL データベースAzure SQL Databaseにインポートすることもできます。The export file can then be imported to another instance of the データベース エンジンDatabase Engine, or to Azure SQL データベースAzure SQL Database. エクスポートとインポートという操作を組み合わせることで、DAC をインスタンス間で移行したりアーカイブを作成したりすることが可能です。また、 SQL DatabaseSQL Databaseに配置されているデータベースの社内用コピーを作成することもできます。The export-import operations can be combined to migrate a DAC between instances, to create an archive, or to create an on-premise copy of a database deployed in SQL DatabaseSQL Database.

はじめにBefore You Begin

エクスポート プロセスでは、2 つの段階を経て DAC エクスポート ファイルが構築されます。The export process builds a DAC export file in two stages.

  1. エクスポートではエクスポート ファイル (BACPAC ファイル) に DAC 定義が構築されます。DAC の抽出時には DAC パッケージ ファイルに DAC 定義が構築されますが、これと同様の処理が行われます。The export builds a DAC definition in the export file - BACPAC file - in the same way a DAC extract builds a DAC definition in a DAC package file. エクスポートされた DAC 定義には、現在のデータベース内のすべてのオブジェクトが含まれます。The exported DAC definition includes all of the objects in the current database. もともと DAC から配置され、その後直接変更が加えられたデータベースに対してエクスポート プロセスが実行された場合、エクスポートされる定義は、データベース内のオブジェクト セットと一致し、元の DAC に定義されている内容とは一致しません。If the export process is run against a database that was originally deployed from a DAC, and changes were made directly to the database after deployment, the exported definition matches the object set in the database, not what was defined in the original DAC.

  2. データベース内のすべてのテーブルからデータが一括コピーされて、エクスポート ファイルに組み込まれます。The export bulk copies out the data from all of the tables in the database and incorporates the data into the export file.

フィードバックをお待ちしております。 この記事の手順やコード例の中で、古い情報や間違っている情報を見つけた場合は、ぜひお知らせください。We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. このページの下部にある [フィードバック] セクション内で [このページ] ボタンをクリックしてください。You can click the This page button in the Feedback section at the bottom of this page. SQL に関するフィードバックのすべての項目に目を通しています (通常は翌日)。We read every item of feedback about SQL, typically the next day. よろしくお願いいたします。Thanks.

エクスポート プロセスでは、DAC バージョンが 1.0.0.0 に設定され、エクスポート ファイル内の DAC の説明は空の文字列に設定されます。The export process sets the DAC version to 1.0.0.0 and the DAC description in the export file to an empty string. データベースが DAC から配置された場合、エクスポート ファイル内の DAC 定義には、元の DAC に割り当てられた名前が格納されます。それ以外の場合、DAC 名はデータベース名に設定されます。If the database was deployed from a DAC, the DAC definition in the export file contains the name given to the original DAC, otherwise the DAC name is set to the database name.

制限事項と制約事項Limitations and Restrictions

DAC またはデータベースをエクスポートできるのは、 SQL DatabaseSQL Database、または SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 4 (SP4) 以降のデータベースに限られます。A DAC or database can only be exported from a database in SQL DatabaseSQL Database, or SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 4 (SP4) or later.

DAC でサポートされていないオブジェクトまたは包含ユーザーが存在するデータベースはエクスポートできません。You cannot export a database that has objects that are not supported in a DAC, or contained users. DAC でサポートされるオブジェクトの種類の詳細については、「 DAC Support For SQL Server Objects and Versions」を参照してください。For more information about the types of objects supported in a DAC, see DAC Support For SQL Server Objects and Versions.

PermissionsPermissions

DAC をエクスポートするには、少なくとも ALTER ANY LOGIN 権限とデータベース スコープの VIEW DEFINITION 権限、および sys.sql_expression_dependenciesに対する SELECT 権限が必要です。Exporting a DAC requires at least ALTER ANY LOGIN and database scope VIEW DEFINITION permissions, as well as SELECT permissions on sys.sql_expression_dependencies. DAC をエクスポートできるのは、DAC をエクスポートするデータベースの database_owner 固定データベース ロールのメンバーでもある、securityadmin 固定サーバー ロールのメンバーです。Exporting a DAC can be done by members of the securityadmin fixed server role who are also members of the database_owner fixed database role in the database from which the DAC is exported. sysadmin 固定サーバー ロールのメンバーまたは sa という組み込みの SQL Server システム管理者アカウントも DAC をエクスポートできます。Members of the sysadmin fixed server role or the built-in SQL Server system administrator account named sa can also export a DAC.

Azure SQL DB で、データベースごとに、すべてのテーブルまたは特定のテーブルに対する VIEW DEFINITION および SELECT アクセス許可を付与する必要がありますOn Azure SQL DB you need to grant for each database VIEW DEFINITION and SELECT permission on all tables or on specific tables

データ層アプリケーションのエクスポート ウィザードの使用Using the Export Data-tier Application Wizard

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

  1. 内部設置型または SQL ServerSQL Server内で、 SQL DatabaseSQL Databaseのインスタンスに接続します。Connect to the instance of SQL ServerSQL Server, whether on-premise or in SQL DatabaseSQL Database.

  2. オブジェクト エクスプローラーで、DAC のエクスポート元のインスタンスのノードを展開します。In Object Explorer, expand the node for the instance from which you want to export the DAC.

  3. データベース名を右クリックします。Right-click the database name.

  4. [タスク] をクリックし、 [データ層アプリケーションのエクスポート] を選択します。Click Tasks and then select Export Data-tier Application...

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

[説明] ページIntroduction Page

このページには、データ層アプリケーションのエクスポート ウィザードの手順が表示されます。This page describes the steps for the Export Data-tier Application Wizard.

[オプション]Options

[次回からこのページを表示しない]Do not show this page again. : 今後 [説明] ページを表示しないようにするには、このチェック ボックスをオンにします。- Click the check box to stop the Introduction page from being displayed in the future.

[次へ] : [DAC パッケージの選択] ページに進みます。Next - Proceeds to the Select DAC Package page.

[キャンセル] : 操作を取り消し、ウィザードを閉じます。Cancel - Cancels the operation and closes the Wizard.

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

このページを使用して、BACPAC ファイルを作成する場所を指定します。Use this page to specify the location where you want the BACPAC file to be created.

  • [ローカル ディスクに保存] : BACPAC ファイルをローカル コンピューター上のディレクトリに作成します。Save to local disk - Creates a BACPAC file in a directory on the local computer. [参照] をクリックしてローカル コンピューター内を参照するか、用意されている領域にパスを指定します。Click Browse... to navigate the local computer, or specify the path in the space provided. パス名には、ファイル名および .bacpac 拡張子を含める必要があります。The path name must include a file name and the .bacpac extension.

  • [Save to Azure](Azure に保存) : BACPAC ファイルを Azure コンテナーに作成します。Save to Azure - Creates a BACPAC file in an Azure container. このオプションを検証するためには、Azure コンテナーに接続する必要があります。You must connect to an Azure container in order to validate this option. このオプションでは、一時ファイル用のローカル ディレクトリを指定する必要もあります。Note that this option also requires that you specify a local directory for the temporary file. 一時ファイルは、指定した場所に作成され、操作の完了後も残ります。Note that the temporary file will be created at the specified location and will remain there after the operation completes.

エクスポートするテーブルのサブセットを指定するには、 [詳細] オプションを使用します。To specify a subset of tables to export, use the Advanced option.

[検証] ページValidation Page

[検証] ページを使用して、操作の妨げとなる問題を確認します。Use the validation page to review any issues that block the operation. 続行するには、妨げとなる問題を解決し、 [検証の再実行] をクリックして、検証が成功したことを確認します。To continue, resolve blocking issues and then click Re-run Validation to ensure that validation is successful.

続行するには、 [次へ] をクリックします。To continue, click Next.

[概要] ページSummary Page

このページを使用すると、操作の指定ソースとターゲットの設定を確認できます。Use this page to review the specified source and target settings for the operation. 指定した設定でエクスポート操作を実行するには、 [完了] をクリックします。To complete the export operation using the specified settings, click Finish. エクスポート操作をキャンセルしてウィザードを終了するには、 [キャンセル] をクリックします。To cancel the export operation and exit the Wizard, click Cancel.

[進行状況] ページProgress Page

このページには、操作の進行状況を示す進行状況バーが表示されます。This page displays a progress bar that indicates the status of the operation. 詳細な状態を表示するには、 [詳細表示] をクリックします。To view detailed status, click the View details option.

[結果] ページResults Page

このページでは、エクスポート操作の成功と失敗が報告され、各アクションの結果が示されます。This page reports the success or failure of the export operation, showing the results of each action. エラーが発生したアクションには、 [結果] 列にリンクが表示されます。Any action that encountered an error will have a link in the Result column. そのアクションのエラーのレポートを表示するには、リンクをクリックします。Click the link to view a report of the error for that action.

[完了] をクリックして、ウィザードを終了します。Click Finish to close the Wizard.

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

.Net Framework アプリケーションで Export() メソッドを使用して DAC をエクスポートするにはTo export a DAC using the Export() method in a .Net Framework application.

コード例を参照するには、 Codeplex上の DAC サンプル アプリケーションをダウンロードしてください。To view a code example, download the DAC sample application on Codeplex

  1. SMO サーバー オブジェクトを作成し、エクスポートする DAC が含まれたインスタンスにそれを設定します。Create a SMO Server object and set it to the instance that contains the DAC to be exported.

  2. ServerConnection オブジェクトを開いて、同じインスタンスに接続します。Open a ServerConnection object and connect to the same instance.

  3. Microsoft.SqlServer.Management.Dac.DacStore 型の Export メソッドを使用して、DAC をエクスポートします。Use the Export method of the Microsoft.SqlServer.Management.Dac.DacStore type to export the DAC. エクスポートする DAC の名前と、エクスポート ファイルの出力先となるフォルダーのパスを指定します。Specify the name of the DAC to be exported, and the path to the folder where the export file is to be placed.

参照See Also

[データ層アプリケーション] Data-tier Applications
データベースからの DAC の抽出Extract a DAC From a Database