导出数据层应用程序

导出已部署的数据层应用程序(DAC)或数据库会创建一个导出文件,该文件包括数据库中对象的定义以及表中包含的所有数据。 然后,可以将导出文件导入到另一个数据库引擎实例或 Azure SQL 数据库。 导出导入操作可以组合使用来在实例之间迁移 DAC,创建逻辑备份,或创建已部署在 SQL 数据库中的数据库的本地副本。

在您开始之前

导出过程分两个阶段生成 DAC 导出文件。

  1. 导出在导出文件 BACPAC 文件中生成 DAC 定义,就像 DAC 提取在 DAC 包文件中生成 DAC 定义一样。 导出的 DAC 定义包括当前数据库中的所有对象。 如果导出过程针对最初从 DAC 部署的数据库运行,并在部署后直接对数据库进行更改,则导出的定义与数据库中的对象集匹配,而不是原始 DAC 中定义的内容。

  2. 导出会从数据库中的所有表批量复制数据,并将数据导出到导出文件中。

导出过程将 DAC 版本设置为 1.0.0.0,并将导出文件中的 DAC 说明设置为空字符串。 如果数据库是从 DAC 部署的,则导出文件中的 DAC 定义包含提供给原始 DAC 的名称,否则 DAC 名称将设置为数据库名称。

局限性与限制

DAC 或数据库只能从 SQL 数据库中的数据库或 SQL Server 2005 Service Pack 4(SP4)或更高版本导出。

不能导出在 DAC 中不支持的对象或包含用户的数据库。 有关 DAC 中支持的对象类型的详细信息,请参阅 DAC Support For SQL Server Objects and Versions

权限

导出 DAC 至少需要 ALTER ANY LOGIN 和数据库范围 VIEW DEFINITION 权限,以及对 sys.sql_expression_dependencies 的 SELECT 权限。 导出 DAC 可由 securityadmin 固定服务器角色的成员来完成,这些成员也是从中导出 DAC 的数据库中database_owner固定数据库角色的成员。 sysadmin 固定服务器角色或名为 sa 的内置 SQL Server 系统管理员帐户的成员也可以导出 DAC。

使用导出数据层应用程序向导

使用向导导出 DAC

  1. 连接到 SQL Server 实例,无论是在本地环境中还是在 SQL 数据库中。

  2. 对象资源管理器中,展开要从中导出 DAC 的实例的节点。

  3. 右键单击数据库名称。

  4. 单击“ 任务 ”,然后选择“ 导出数据层应用程序...”

  5. 完成向导对话框:

简介页

本页介绍导出数据层应用程序向导的步骤。

选项

不要再次显示此页面。 - 单击该复选框可阻止将来显示“简介”页。

接下来 - 转到 “选择 DAC 包 ”页。

取消 - 取消操作并关闭向导。

“导出设置”页

使用此页可指定要创建 BACPAC 文件的位置。

  • 保存到本地磁盘 - 在本地计算机上的目录中创建 BACPAC 文件。 单击“ 浏览...” 以导航本地计算机,或在提供的空间中指定路径。 路径名称必须包含文件名和 .bacpac 扩展名。

  • 保存到 Azure - 在 Azure 容器中创建 BACPAC 文件。 必须连接到 Azure 容器才能验证此选项。 请注意,此选项还要求为临时文件指定本地目录。 请注意,临时文件将在指定位置创建,并在作完成后保留。

若要指定要导出的表子集,请使用 “高级 ”选项。

“验证”页

使用验证页面查看任何阻止操作的问题。 若要继续,请解决阻止问题,然后单击 “重新运行验证 ”以确保验证成功。

若要继续,请单击“Next”

摘要页

使用此页面可以查看用于操作的指定源和目标设置。 若要使用指定的设置完成导出作,请单击“ 完成”。 若要取消导出作并退出向导,请单击“ 取消”。

“进度”页

此页面显示一个进度栏,指示操作的状态。 若要查看详细状态,请单击“ 查看详细信息 ”选项。

“结果”页

此页面报告导出操作的成功或失败,显示了每个操作的结果。 遇到了错误的任何操作都将在 “结果” 列中具有一个链接。 单击链接以查看该操作的错误报告。

单击“ 完成 ”关闭向导。

使用 .Net Framework 应用程序

使用 .Net Framework 应用程序中的 Export() 方法导出 DAC。

若要查看代码示例,请下载 Codeplex 上的 DAC 示例应用程序

  1. 创建 SMO Server 对象并将其设置为包含要导出的 DAC 的实例。

  2. 打开 ServerConnection 对象,并连接到同一实例。

  3. 使用Microsoft.SqlServer.Management.Dac.DacStore类型的Export方法导出 DAC。 指定要导出的 DAC 的名称和要放置导出文件的文件夹的路径。

另请参阅

数据层应用程序
从数据库中提取 DAC