适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 预览版中的 SQL 数据库
导出数据库将创建一个导出文件,该文件包含数据库中对象的定义以及表中所有数据的定义。 然后,可以将导出文件 (.bacpac
) 导入到另一个数据库引擎实例或 Azure SQL 数据库。 导出导入作可以组合在一 .bacpac
起,以在实例之间迁移、创建存档或创建 SQL 数据库中部署的数据库的本地副本。
数据层应用程序(DAC)导出过程与 DAC 提取过程相关。 导出和提取都包含生成的文件中的数据库架构,但导出过程仅限于 Azure SQL 数据库外围区域中提供的功能。 从 SqlPackage 可移植性文档了解详细信息。
Prerequisites
导出过程分 .bacpac
两个阶段生成导出文件。
导出在导出文件中生成可移植定义 -
.bacpac
文件 - 与 DAC 提取在 DAC 包文件中生成 DAC 定义的方式相同。 导出的 DAC 定义包括当前数据库中的所有对象。 假设导出过程针对最初从 DAC 部署的数据库运行,并在部署后直接对数据库进行更改。 在这种情况下,导出的定义与数据库中的对象集匹配,而不是原始 DAC 中定义的对象。导出会从数据库中的所有表批量复制数据,并将数据导出到导出文件中。
导出过程将 DAC 版本设置为 1.0.0.0,并将导出文件中的 DAC 说明设置为空字符串。 如果数据库是从 DAC 部署的,则导出文件中的 DAC 定义包含提供给原始 DAC 的名称。 否则,DAC 名称将设置为数据库名称。
Permissions
若要导出 DAC,至少需要拥有 ALTER ANY 登录和数据库级 VIEW DEFINITION
权限和 SELECT
权限 sys.sql_expression_dependencies
。 对于在 SECURITYadmin 固定服务器角色中具有成员身份的个人,以及 DAC 源数据库中 database_owner 固定数据库角色,可以实现此任务。 此外,对于属于 sysadmin 固定服务器角色或有权访问名为 sa
的内置 SQL Server 系统管理员帐户的用户,导出 DAC 是可行的。
在 Azure SQL 数据库中,必须 为每个数据库VIEW DEFINITION
授予权限,并 SELECT
授予所有表或特定表的权限。
使用导出数据层应用程序向导
使用向导导出 DAC
无论是本地还是 SQL 数据库中,都连接到 SQL Server 的实例。
在 对象资源管理器中,展开要从中导出 DAC 的实例的节点。
右键单击数据库名称。
选择 “任务 ”,然后选择“ 导出数据层应用程序...”
完成向导对话框:
Introduction page
本页介绍导出数据层应用程序向导的步骤。
Options
不要再次显示此页面。 - 选中复选框可阻止将来显示“简介”页。
接下来 - 转到 “选择 DAC 包 ”页。
取消 - 取消操作并关闭向导。
“导出设置”页
使用此页可指定要创建文件的位置 .bacpac
。
保存到本地磁盘 - 在本地计算机上的目录中创建
.bacpac
文件。 选择 “浏览...” 以导航到本地计算机,或在提供的空间中指定路径。 路径名称必须包含文件名和.bacpac
扩展名。保存到 Azure -
.bacpac
在 Azure 容器中创建文件。 必须连接到 Azure 容器才能验证此选项。 此选项还要求为临时文件指定本地目录。 临时文件将在指定位置创建,并在作后保留。
若要指定要导出的表子集,请使用 “高级 ”选项。
Summary page
使用此页可以查看作的指定源和目标设置。 若要使用指定的设置完成导出作,请选择“ 完成”。 若要取消导出作并退出向导,请选择“ 取消”。
Progress page
此页面显示一个进度栏,指示操作的状态。 若要查看详细状态,请选择 “查看详细信息 ”选项。
Results page
此页面报告导出作的成功或失败,其中显示了每个作的结果。 任何遇到错误的操作在 结果 列中都有一个链接。 选择该链接以查看该操作的错误报告。
选择 “完成 ”以关闭向导。
Limitations
DAC 或数据库只能从 SQL 数据库中的数据库或 SQL Server 2005 (9.x) Service Pack 4 (SP4) 或更高版本导出。
不能导出包含 DAC 中不支持或包含用户的对象的数据库。 有关 DAC 中支持的对象类型的详细信息,请参阅 DAC Support For SQL Server Objects and Versions。
如果收到 “磁盘空间不足 ”消息失败,建议将系统的文件夹配置为 %TEMP%
驻留在不同的数据磁盘上。 为此,可以确保导出过程有足够的空间顺利执行,避免潜在的磁盘空间复杂。
配置系统的 %TEMP% 文件夹:
在 Windows 中,打开 系统属性>属性,然后选择标记为 “高级系统设置”的链接。
在随后的“系统属性”窗口中,导航到底部并选择 “环境变量”。
在 “系统变量 ”部分下,找到
TEMP
和TMP
变量,然后选择与每个变量关联的 “编辑 ”。修改这两个变量的值,以指向已建立的单独数据磁盘上的路径。 例如,如果将数据磁盘指定为
D:
,请将值设置为D:\Temp
。通过选择“确定”并关闭所有打开的窗口来确认更改。