如何做一个单一的SQL Server 2005数据备份不适当的恢复?

我的问题是:我使用SQL Server 2005安装了一个特定的数据库驱动软件的虚拟Windows XP机器。一个类似的机器也被几个客户使用。 一个客户报告一个SQL Server错误,我不能重现,因为我只有testing数据。

我可以告诉客户只备份特定数据库的表(不是存储过程等)的步骤是什么? 如何将数据恢复到我的开发机器,覆盖已有的testing数据?

非常感谢!

您要做的是让客户将数据库的“仅复制”完全备份发送给您。 这样,备份不会混淆他们当前的备份过程/库。 这样做的命令是:

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

这将备份整个数据库。 请客户将备份文件发送给您(我build议先将其压缩,因为它们通常是高度可压缩的)。

一旦你收到了备份文件,你需要做一个恢复。 没有直接的方法来恢复表格。 我会说最好的办法是将客户的数据库恢复到新的数据库,然后使用SSIS将表数据复制回您的testing数据库。

我会让客户做一个完整的备份,然后将其恢复到您的服务器。 如果你真的想要的数据,你可以让客户右键点击数据库去任务 – 生成脚本,并通过向导。 请记住,我不一定相信会给你一个相同的数据库副本。 您也可以使用分离 – 将数据库文件复制到您 – 然后重新附加。 国际海事组织最好的办法是备份和恢复。 如果你担心“污染”你的服务器,那么我会使用testing虚拟机和快照/回滚。

SQL Server不提供仅备份来自数据库的数据的方法。 你需要让他们创build一个完整的备份发送给你。 一旦你有了完整的备份,你可以只恢复你想要的对象(即表)。