適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric 内の SQL データベース
抽出プロセスでは、データベース オブジェクトとその関連するインスタンス レベル要素の定義を含む DAC パッケージ ファイル (.dacpac
) が作成されます。 たとえば、 .dacpac
ファイルには、データベース テーブル、ストアド プロシージャ、ビュー、およびユーザーと、データベース ユーザーにマップされるログインが含まれます。 .dacpac
ファイルを使用して、SQL Server または Azure SQL Database の別のインスタンスにデータベースをデプロイしたり、データベースを現在のインスタンスにデータ層アプリケーション (DAC) として登録したりできます。
.dacpac
を抽出するためのオプションは次のとおりです。
- SQL Server Management Studio (SSMS) の データ層アプリケーションの抽出 ウィザード
- SQL Server データ ツール
- SqlPackage コマンド ライン ユーティリティ
権限
.dacpac
を抽出するには、少なくともALTER ANY LOGIN
とデータベース スコープVIEW DEFINITION
アクセス許可と、sys.sql_expression_dependencies
に対するSELECT
アクセス許可が必要です。 database_owner固定データベース ロールのメンバーでもある securityadmin 固定サーバー ロールのメンバーは、 .dacpac
を抽出する資格があります。 sysadmin 固定サーバー ロールのメンバーまたは sa
という組み込みの SQL Server システム管理者アカウントも .dacpac
を抽出できます。
データ層アプリケーションの抽出ウィザードを使用する
ウィザードを使用して DAC を抽出するには
- オブジェクト エクスプローラーで、
.dacpac
の抽出元となるデータベースを含むインスタンスのノードを展開します。 - データベース ノードを展開します。
.dacpac
を抽出するデータベースのノードを右クリックし、[タスク] をポイントして、[データ層アプリケーションの抽出] を選択します。- ウィザードのダイアログを完了します。
ウィザードの概要ページ
このページでは、データ層アプリケーションを抽出する手順について説明します。
このページをもう一度表示しないでください。 - ページが今後表示されないようにするには、チェック ボックスをオンにします。
次の > - [ メソッドの選択 ] ページに進みます。
キャンセル - データベースからデータ層アプリケーションを抽出せずにウィザードを終了します。
[データの選択] ページ
データ層アプリケーション (DAC) パッケージ ファイルに含める参照データを選択します。 DAC パッケージへのデータの含め方は省略可能です。 .dacpac
には、サポートされているすべてのデータベース オブジェクトと、データベースに関連するインスタンス オブジェクトのスキーマが含まれます。
DAC パッケージ ファイルには、最大 10 MB の参照データを含めることができます。 ただし、DAC に含めるテーブルには、 image や varchar(max) などのバイナリ ラージ オブジェクト (BLOB) データ型が含まれていない場合があります。 別のデータベースに転送するために大量のデータを抽出するには、SQL Server Integration Services、一括コピー ユーティリティ、またはその他の多くのデータ移行手法のいずれかを使用します。
データベース テーブル - DAC パッケージに含めるデータを含むデータベース テーブルの横にあるチェック ボックスをオンにします。 10,000 行以下の最大 10 個のテーブルを選択できます。
プロパティ設定ページ
ウィザードのこのページを使用して、データ層アプリケーション (DAC) について説明します。 これらのプロパティは、DAC を識別し、他の DAC と区別するために使用されます。
名前 - この名前は DAC を識別します。 DAC パッケージ ファイルの名前とは異なる場合があり、アプリケーションを記述する必要があります。 たとえば、データベースが財務アプリケーションに使用されている場合は、DAC Finance という名前を付ける必要があります。
Version (use xx.xx.xx.xx, where x is a number) - DAC のバージョンを識別する数値。 DAC バージョンは、開発者が作業している DAC のバージョンを識別するために Visual Studio で使用されます。 .dacpac
が展開されると、バージョンは msdb
データベースに格納され、後で SQL Server Management Studio の [データ層アプリケーション] ノードで表示できます。
説明: - 省略可能。 DAC について説明します。 .dacpac
が展開されると、説明は msdb
データベースに格納され、後で Management Studio の [データ層アプリケーション] ノードで表示できます。
DAC パッケージ ファイル (ファイル名に .dacpac 拡張子を含む): - DAC を .dacpac 拡張子を持つ DAC パッケージ ファイルに保存します。 [ 参照 ] ボタンを選択して、ファイルの名前と場所を指定します。
[既存のファイルを上書き する] - DAC パッケージ ファイルが同じ名前で既に存在する場合は、このチェック ボックスをオンにします。
検証と概要ページ
このページでは、すべてのデータベース オブジェクトがデータ層アプリケーション (DAC) でサポートされていることを確認します。 また、データベース オブジェクト間の依存関係をチェックして、DAC に正常に含めることができるオブジェクトのセットを決定します。 その後、検証レポートが表示され、このウィザードで選択したオプションが要約されます。 オプションを変更するには、 [前へ] を選択します。 DAC の抽出を開始するには、[ 次へ] を選択します。
注
DAC で 1 つ以上のオブジェクトがサポートされていない場合は、[ 次へ ] ボタンが無効になり、抽出プロセスが続行されない可能性があります。 このような場合は、サポートされていないオブジェクトを削除してから、このウィザードをもう一度実行することをお勧めします。
概要 - 選択したオプションの概要が DAC プロパティの下に一覧表示されます。 検証の結果は、 DAC オブジェクトの下に一覧表示されます。 検証の結果には、次の 3 種類があります。
DAC に正常に含まれるオブジェクト: これらのオブジェクトとその依存関係はサポートされており、DAC に正常に含めることができます。
警告付きの DAC に含まれるオブジェクト: これらのオブジェクトはサポートされていますが、DAC でサポートされていない他のオブジェクトによって異なります。
DAC に含まれていないオブジェクト: これらのオブジェクトはサポートされていないため、DAC を正常に抽出する前にデータベースから削除する必要があります。
検証プロセスでは、複数のレベルの依存関係がチェックされます。 たとえば、ストアド プロシージャがサポートされていない CLR データ型を使用するテーブルに依存している場合、ストアド プロシージャは DAC に含まれるオブジェクトの下に警告と共に一覧表示されます。
DAC で 1 つ以上のオブジェクトがサポートされていない場合、[ 次へ ] ボタンは無効になり、抽出プロセスは続行されません。 このような場合は、サポートされていないオブジェクトを削除してから、このウィザードをもう一度実行することをお勧めします。
レポートの保存 - 概要の [DAC オブジェクト] ノードのすべてのオブジェクトを一覧表示する HTML ベースのファイルを保存できます。 このレポートは、データベース オブジェクトの一部が DAC でサポートされていない場合に役立ちます。 DAC を再度抽出する前に、レポートを使用して、サポートされていないオブジェクトを変更または削除します。
[パッケージのビルド] ページ
このページを使用して、データ層アプリケーション (DAC) を抽出するウィザードの進行状況を監視します。
アクション - DAC パッケージ ファイルの作成と保存 アクション中に、ウィザードによって SQL Server データベースから DAC が抽出されます。 次に、DAC パッケージがメモリ内に作成され、指定した場所に保存されます。 [結果] 列のリンクを選択して、対応するステップの結果を確認します。
[レポートの保存] - 選択すると、ウィザードの進行状況の結果がファイルに保存されます。
[完了] - 処理が完了した後、またはエラーが発生した場合にウィザードを閉じる場合に選択します。