適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric プレビューの SQL データベース
データベースをエクスポートすると、データベース内のオブジェクトの定義とテーブル内のすべてのデータを含むエクスポート ファイルが作成されます。 エクスポート ファイル (.bacpac
) は、データベース エンジンの別のインスタンスまたは Azure SQL Database にインポートできます。 エクスポート/インポート操作を組み合わせて、インスタンス間で .bacpac
を移行したり、アーカイブを作成したり、SQL Database にデプロイされたデータベースのオンプレミス コピーを作成したりできます。
データ層アプリケーション (DAC) エクスポート プロセスは、DAC 抽出プロセスに関連しています。 エクスポートと抽出の両方に、生成されたファイルにデータベース スキーマが含まれますが、エクスポート プロセスは Azure SQL Database のサーフェス領域で使用できる機能に限定されます。 詳細については、 SqlPackage の移植性に関するドキュメントを参照してください。
Prerequisites
エクスポート プロセスでは、 .bacpac
エクスポート ファイルが 2 段階でビルドされます。
エクスポートでは、DAC 抽出によって DAC パッケージ ファイルに DAC 定義が作成されるのと同じ方法で、エクスポート ファイル (
.bacpac
ファイル) に移植可能な定義が作成されます。 エクスポートされた DAC 定義には、現在のデータベース内のすべてのオブジェクトが含まれます。 エクスポート プロセスが DAC から最初にデプロイされたデータベースに対して実行され、デプロイ後にデータベースに直接変更が加えられたとします。 その場合、エクスポートされた定義は、元の DAC で定義されたものではなく、データベース内のオブジェクト セットと一致します。エクスポートでは、データベース内のすべてのテーブルからデータが一括コピーされ、データがエクスポート ファイルに組み込まれます。
エクスポート プロセスでは、DAC バージョンが 1.0.0.0 に設定され、エクスポート ファイル内の DAC の説明が空の文字列に設定されます。 データベースが DAC から配置された場合、エクスポート ファイル内の DAC 定義には、元の DAC に指定された名前が含まれます。 それ以外の場合、DAC 名はデータベース名に設定されます。
Permissions
DAC をエクスポートするには、少なくとも ALTER ANY サインインとデータベース レベルのVIEW DEFINITION
アクセス許可と、sys.sql_expression_dependencies
に対するSELECT
アクセス許可が必要です。 このタスクは、 securityadmin 固定サーバー ロールのメンバーシップを持つ個人と、DAC のソース データベース内 の固定 データベース ロールdatabase_owner達成できます。 さらに、DAC のエクスポートは、 sysadmin 固定サーバー ロールの一部であるユーザー、または sa
という名前の組み込みの SQL Server システム管理者アカウントにアクセスできるユーザーに適しています。
Azure SQL Database では、すべてのテーブルまたは特定のテーブルに 対して、各データベースVIEW DEFINITION
および SELECT
アクセス許可を付与する必要があります。
データ層アプリケーションのエクスポート ウィザードを使用する
ウィザードを使用して DAC をエクスポートするには
オンプレミスでも SQL Database でも、SQL Server のインスタンスに接続します。
オブジェクト エクスプローラーで、DAC をエクスポートするインスタンスのノードを展開します。
データベース名を右クリックします。
[タスク] を選択し、[データ層アプリケーションのエクスポート...] を選択します。
ウィザードの各ダイアログの手順を実行します。
Introduction page
このページでは、データ層アプリケーションのエクスポート ウィザードの手順について説明します。
Options
このページをもう一度表示しないでください。 - このチェック ボックスをオンにすると、[概要] ページが今後表示されなくなります。
次へ - [ DAC パッケージの選択 ] ページに進みます。
[キャンセル] - 操作を取り消し、ウィザードを閉じます。
[設定のエクスポート] ページ
このページを使用して、 .bacpac
ファイルを作成する場所を指定します。
ローカル ディスクに保存 - ローカル コンピューター上のディレクトリに
.bacpac
ファイルを作成します。 [ 参照... ] を選択してローカル コンピューターに移動するか、指定された領域のパスを指定します。 パス名には、ファイル名と.bacpac
拡張子を含める必要があります。[Azure に保存] - Azure コンテナーに
.bacpac
ファイルを作成します。 このオプションを検証するには、Azure コンテナーに接続する必要があります。 このオプションでは、一時ファイルのローカル ディレクトリを指定する必要もあります。 一時ファイルは指定した場所に作成され、操作後もそこに残ります。
エクスポートするテーブルのサブセットを指定するには、[ 詳細設定 ] オプションを使用します。
Summary page
このページを使用して、操作の指定されたソースとターゲットの設定を確認します。 指定した設定を使用してエクスポート操作を完了するには、[ 完了] を選択します。 エクスポート操作を取り消してウィザードを終了するには、[キャンセル] を選択 します。
Progress page
このページには、操作の状態を示す進行状況バーが表示されます。 詳細な状態を表示するには、[ 詳細の表示 ] オプションを選択します。
Results page
このページでは、エクスポート操作の成功または失敗が報告され、各アクションの結果が表示されます。 エラーが発生したアクションには、結果 列にリンクがあります。 リンクを選択すると、そのアクションのエラーのレポートが表示されます。
[ 完了] を 選択してウィザードを閉じます。
Limitations
DAC またはデータベースは、SQL Database または SQL Server 2005 (9.x) Service Pack 4 (SP4) 以降のデータベースからのみエクスポートできます。
DAC でサポートされていないオブジェクトまたはユーザーを含むオブジェクトを含むデータベースをエクスポートすることはできません。 DAC でサポートされるオブジェクトの種類の詳細については、「 DAC Support For SQL Server Objects and Versions」を参照してください。
[ディスク領域不足] メッセージ でエラー が発生した場合は、システムの %TEMP%
フォルダーを個別のデータ ディスクに配置するように構成することをお勧めします。 これにより、エクスポート プロセスがスムーズに実行できる十分な領域を確保でき、ディスク領域の複雑化を回避できます。
システムの %TEMP% フォルダーを構成するには:
Windows で、[ システムのプロパティ]>Properties を開き、[ システムの詳細設定] というラベルの付いたリンクを選択します。
次の [システム プロパティ] ウィンドウで、下部に移動し、[環境変数] を選択 します。
[ システム変数 ] セクションで、
TEMP
変数とTMP
変数を見つけて、それぞれに関連付けられている [編集] を選択します。確立した個別のデータ ディスク上の経路を指すよう、両方の変数の値を変更します。 たとえば、データ ディスクが
D:
として指定されている場合は、値をD:\Temp
として設定します。[OK] を選択し、開いているすべてのウィンドウを閉じて、変更を確認します。