适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 预览版中的 SQL 数据库
数据层应用程序(DAC)是一个逻辑数据库实体,用于定义与用户数据库关联的所有 SQL Server 对象(例如表、视图和实例对象,包括登录名)。 数据层应用程序是整个数据库模型的自包含单元,在包.dacpac
.bacpac
中可移植。 数据层应用程序的工具支持使开发人员和数据库管理员能够将文件.bacpac
应用于.dacpac
新数据库或现有数据库,或者从现有数据库生成新文件。
Operations
BACPAC operations
.bacpac
文件格式是一个相关项目,默认情况下封装数据库架构和存储在数据库中的数据。
.bacpac
数据库模型中的对象仅限于 Azure SQL 数据库的外围应用。 主要用例 .bacpac
是将数据库从一台服务器移到另一台服务器,或者将 数据库从本地服务器迁移到云 中,以及以开放格式存档现有数据库。
-
导出 - 用户可以将数据库导出到
.bacpac
文件。 有关详细信息,请参阅 SqlPackage 导出 数据库并将其 导出到 BACPAC 文件。 -
导入 - 用户可以将
.bacpac
文件导入新数据库。 有关详细信息,请参阅 SqlPackage 导入 和 将 BACPAC 文件导入数据库。
从 SqlPackage 可移植性文档详细了解数据库可移植性。
DACPAC operations
数据 .dacpac
层应用程序包是 SQL 数据库项目的 生成项目,可用作全面的数据库生命周期管理和 DevOps 策略的一部分。 默认情况下,数据不包括在 .dacpac
内,但从实时 SQL Server 或 Azure SQL 数据库提取 .dacpac
数据时,可以选择包含用户表中的数据。 作为 SQL 数据库项目工作流和数据库开发生命周期不可或缺的一部分, .dacpac
文件用于多个作。 主要作包括:
-
提取 - 用户可以将数据库提取到 .
.dacpac
有关详细信息,请参阅 SqlPackage 提取 和 从数据库中提取 DAC。 -
部署/发布 - 用户可以将 A
.dacpac
部署到主机服务器。 将部署完成到现有数据库后,将动态计算数据库与 DAC 之间的差异,并将其作为增量更新应用。 术语“发布”通常与“部署”互换使用。有关详细信息,请参阅 SqlPackage 发布 和 部署数据层应用程序。
可以在 SqlPackage CLI、SQL Server Management Studio、Azure Data Studio 和 SQL Server Data Tools 中找到这些功能。
除了发布和提取之外,还可以利用 dac 注册 功能跟踪系统元数据中的数据库模型:
- 注册 - 用户可以将数据库注册为数据层应用程序。 注册将数据库架构的当前状态的表示形式存储在系统元数据中。
- 注销 - 以前注册为 DAC 的数据库可以注销。
-
升级 - 可以使用 ..
.dacpac
数据层应用程序工具
数据层应用程序的工具支持使开发人员和数据库管理员能够使用 .dacpac
图形和命令行界面中的文件和 .bacpac
文件。 除了已发布的工具,数据层应用程序 API 在 数据层应用程序框架(DACFx) 中提供,用于 .NET 开发和数据库生命周期自定义。
DACPAC 和 BACPAC 包
以下工具支持 .dacpac
和 .bacpac
格式:
在这些工具中,可以将数据库提取到 .dacpac
或导出到 a .bacpac
. 相反,可以将 a .bacpac
导入新数据库,也可以 .dacpac
发布到新的数据库或现有数据库。
DACPAC 和 SQL 项目
除了提供 SQL 数据库项目的编辑外, .dacpac
以下工具还支持文件格式:
在这些工具中,开发人员可以在未连接的客户端开发环境中设计数据库。 在 SQL 项目工具 文章中了解详细信息。