如何对 SQL Server 2005 数据进行单次备份以进行异地恢复?

如何对 SQL Server 2005 数据进行单次备份以进行异地恢复?

我的问题:我有一台安装了特定数据库驱动软件的虚拟 Windows XP 计算机,该软件使用 SQL Server 2005。几位客户也在使用类似的计算机。一位客户报告了 SQL Server 错误,我无法重现该错误,因为我只获得了用于测试的数据。

我可以告诉客户哪些步骤来仅备份特定数据库的表(而不是存储过程等)?如何将数据恢复到我的开发机器,覆盖现有的测试数据?

多谢!

答案1

您需要做的是让客户对数据库进行“仅复制”完整备份,然后发送给您。这样,备份就不会干扰他们当前的备份过程/库。执行此操作的命令是:

BACKUP DATABASE [<DB Name>] TO  DISK = N'C:\Backup_File.bak' WITH  COPY_ONLY

这将备份整个数据库。让客户将备份文件发送给您(我建议也先将它们压缩,因为它们通常具有很高的可压缩性)。

收到备份文件后,您需要进行恢复。没有直接的方法只恢复表。我认为最好的方法是将客户的数据库恢复到新数据库,然后使用 SSIS 将表数据复制回您的测试数据库。

答案2

我会让客户进行完整备份,然后将其还原到您的服务器。如果您真的只想要数据,您可以让客户右键单击数据库,转到任务 - 生成脚本并执行向导。请记住,我不一定相信这会为您提供相同的数据库副本。您也可以使用分离 - 将数据库文件复制到您 - 然后重新连接。在我看来,最好的方法是备份和还原。如果您担心“污染”您的服务器,那么我会使用测试虚拟机和快照/回滚。

答案3

SQL Server 不提供仅备份数据库中数据的方法。您需要让他们创建完整备份并发送给您。获得完整备份后,您可以仅恢复所需的对象(即表)。

相关内容