次の方法で共有


データ層アプリケーション (DAC) の概要

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric プレビューの SQL データベース

データ層アプリケーション (DAC) は、ユーザーのデータベースに関連付けられているすべての SQL Server オブジェクト (テーブル、ビュー、インスタンス オブジェクト (ログインを含む) を定義する論理データベース エンティティです。 データ層アプリケーションは、データベース モデル全体の自己完結型ユニットであり、 .dacpac パッケージと .bacpac パッケージの両方で移植可能です。 データ層アプリケーションのツールサポートにより、開発者とデータベース管理者は、新規または既存のデータベースに.dacpacおよび.bacpacファイルを適用したり、既存のデータベースから新しいファイルを生成したりできます。

Operations

BACPAC operations

.bacpac ファイル形式は、データベース スキーマとデータベースに格納されているデータを既定でカプセル化する関連成果物です。 .bacpac データベース モデル内のオブジェクトは、Azure SQL Database のサーフェス領域に制限されます。 .bacpacの主なユース ケースは、あるサーバーから別のサーバーにデータベースを移動するか、ローカル サーバーからクラウドにデータベースを移行し、既存のデータベースをオープン形式でアーカイブすることです。

データベースの移植性の詳細については、 SqlPackage の移植性に関するドキュメントを参照してください。

DACPAC operations

.dacpac データ層アプリケーション パッケージは、SQL データベース プロジェクトからのビルド 成果物であり、包括的なデータベース ライフサイクル管理と DevOps 戦略の一部として使用できます。 データは既定では .dacpac に含まれませんが、ライブ SQL Server または Azure SQL Database から .dacpac を抽出するときに、ユーザー テーブルからデータを含めることができます。 SQL データベース プロジェクト ワークフローとデータベース開発ライフサイクルの不可欠な部分として、 .dacpac ファイルは複数の操作で使用されます。 主な操作は次のとおりです。

  • 抽出 - ユーザーはデータベースを .dacpacに抽出できます。 詳細については、「SqlPackage のデータベースからの DAC の抽出と抽出」を参照してください。
  • デプロイ/発行 - ユーザーはホスト サーバーに.dacpacを展開できます。 既存のデータベースへの配置が完了すると、データベースと DAC の違いが動的に計算され、増分更新として適用されます。 "発行" という用語は、多くの場合、"デプロイ" と同じ意味で使用されます。詳細については、「SqlPackage でのデータ層アプリケーションの発行とデプロイ」を参照してください。

これらの機能は、SqlPackage CLI、SQL Server Management Studio、Azure Data Studio、SQL Server Data Tools で確認できます。

パブリッシュと抽出に加えて、 dac 登録 機能を使用して、システム メタデータ内のデータベース モデルを追跡することもできます。

  • 登録 - ユーザーはデータベースをデータ層アプリケーションとして登録できます。 Register は、データベース スキーマの現在の状態の表現をシステム メタデータに格納します。
  • 登録解除 - 以前に DAC として登録されたデータベースを登録解除できます。
  • アップグレード - .dacpacを使用してデータベースをアップグレードできます。

データ層アプリケーション ツール

データ層アプリケーションのツールサポートにより、開発者とデータベース管理者はグラフィカル インターフェイスとコマンド ライン インターフェイスの両方から .dacpac ファイルと .bacpac ファイルを操作できます。 リリースされたツールに加えて、データ層アプリケーション API は、.NET 開発とデータベース ライフサイクルのカスタマイズのために データ層 Application Framework (DACFx) で使用できます。

DACPAC パッケージと BACPAC パッケージ

次のツールは、 .dacpac 形式と .bacpac 形式をサポートしています。

これらのツールでは、データベースを .dacpac に抽出したり、 .bacpacにエクスポートしたりできます。 逆に、 .bacpac は新しいデータベースにインポートすることも、 .dacpac を新規または既存のデータベースにパブリッシュすることもできます。

DACPAC および SQL プロジェクト

次のツールでは、SQL データベース プロジェクトの編集だけでなく、 .dacpac ファイル形式もサポートされています。

これらのツールでは、開発者は接続されていないクライアント側開発環境でデータベースを設計できます。 詳細については、 SQL プロジェクト ツール に関する記事を参照してください。