适用于: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 项目工具 文章中了解详细信息。