我的问题是:我得到了一台虚拟Windows机器,它使用Server 2005安装了一个特定的数据库驱动软件。几个客户也在使用类似的机器。有一个客户报告一个Server错误,因为我只有测试数据,所以无法复制该错误。
我可以告诉客户只备份表(而不是存储过程等)。一个特定的数据库?如何将数据还原到我的开发机器,覆盖现有的测试数据?
非常感谢!
发布于 2010-09-28 15:01:37
您想要做的是让客户“只复制”数据库的完整备份发送给您。这样,备份就不会扰乱他们当前的备份进程/库。这样做的命令是:
BACKUP DATABASE [<DB Name>] TO DISK = N'C:\Backup_File.bak' WITH COPY_ONLY这将备份整个数据库。让客户将备份文件发送给您(我建议先对它们进行压缩,因为它们通常是高度可压缩的)。
一旦收到备份文件,就需要进行还原。没有直接的方法只恢复表。我认为最好的方法是将客户的数据库恢复到一个新的数据库,然后使用SSIS将表数据复制回您的测试数据库。
发布于 2010-09-28 12:57:50
我会让客户做一个完整的备份,然后将其恢复到您的服务器。如果您真的想要的只是数据,您可以让客户右键单击DB,转到任务-生成脚本,并通过向导。记住,我不一定相信这会给你一个相同的DB副本。您也可以使用分离-复制数据库文件给您-然后重新附加。海事组织最好的办法是备份和恢复。如果您关心的是“污染”您的服务器,那么我将使用测试VM和快照/回滚。
发布于 2010-09-28 13:22:37
Server不提供仅从数据库备份数据的方法。您需要让他们创建一个完整的备份发送给您。完成备份后,可以只还原所需的对象(即表)。
https://serverfault.com/questions/185337
复制相似问题