了解如何备份和恢复数据库对象 SQL Server 数据库,使用 DAC 包。
当操作一个 SQL Server 数据库,在某些情况下,您希望将给定服务器中的数据库复制到另一台服务器,仅包含模式信息,而不包含数据。 这可以通过多种方式完成,一些基本方式包括:
- 将脚本与源数据库分离,并对一个全新的空数据库运行该脚本,该数据库也可以作为复制源数据库中对象的目标。
- 将备份源数据库检索到目标数据库,然后删除表中的数据。
- 备份源数据库,将数据检索到中间数据库,并确保在备份此数据库之前截断表,最后将此备份检索到目标数据库。
这些解决方案可靠但有点复杂,对用户更友好,但可能是冗长的选项,没有多少 DBA 选择使用 DAC 包来实现相同的解决方案。 唯一的限制是您应该有权访问 2008 R2edition 或更高版本的 SQL Server
请注意: 能够使用 DAC 包来仅备份 SQL Server 数据库,您应该可以访问数据层应用程序框架,也称为 DacFx。
备份 SQL Server 仅数据库对象
这里将使用 SSMS (SQL Server 管理工作室)
右键单击“SSMS 对象资源管理器窗口”中的“AdventureWorks2012”数据库选项。 现在单击“任务”,然后选择“提取数据层应用程序”选项。
- 这将启动数据层应用程序提取向导。现在,在第一个屏幕中选择“下一步”,然后在“设置属性”屏幕中选择“下一步”,输入 DAC 包文件的位置。
- 继续点击“下一步”选项,直到没有成功生成 DAC 包文件。
- 生成 dacpac 文件后,您可以单击“下一步”关闭窗口。 您的 AdventureWorks2012.dacpac 文件现在可以复制到任何地方。
您可以复制此文件,将其存储在共享文件夹中,甚至可以将其还原到新的目标数据库。要将同一文件备份到目标数据库,请继续阅读。
以下是恢复步骤 SQL Server 来自 DAC 包的数据库。
请注意: 从 DAC 备份还原时要记住的关键事项之一是确保还原到 SQL Server 这等于或先进于我们从中备份的那个。
- 在“SSMS”对象资源管理器窗口中,建立与目标数据库的连接,现在右键单击数据库,然后选择“部署数据层应用程序”。
- 这将启动向导,从这里单击“下一步”,然后单击“浏览”以获取 DAC 软件包文件的位置。
- 在“更新配置”屏幕中,单击“下一步”,输入目标数据库的名称,也可以保留默认的源数据库名称。
- 继续单击下一步,直到向导不开始部署到目标数据库。
请务必注意,在数据复制过程中,可能会发生 SQL 损坏事件。 遇到这种情况,最好找专门的 SQL Server 恢复 工具。
作者简介:
Victor Simon 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复访问 和sql恢复软件产品。 欲了解更多信息,请访问 https://www.datanumen.com/
右键单击“SSMS 对象资源管理器窗口”中的“AdventureWorks2012”数据库选项。 现在单击“任务”,然后选择“提取数据层应用程序”选项。