2010-05-28 61 views
2

我有一个数据库,我做了2天前的第一个备份。 然后昨天我花了整整一个添加新记录。 今天早上我跑了一个备份,(但我选择追加到现有的备份集)如下图所示。选择追加到现有的备份,而不是覆盖

我刚刚运行了一次恢复,发现它从昨天就清除了我的所有数据,并从2天前的备份中恢复了它。 不是早上备份的版本。

我压缩此备份文件是安全的。

我在DB改变了一些数据,然后我又跑回来了,但这次我选择“覆盖所有现有备份集”

现在,当我恢复它的分贝似乎恢复数据从备份正确我想我在这里学到了一个教训,如果我错了,正确的

我的问题是,我失去了整整一天的工作?

我仍然有今天上午的备份.bak文件安全的zip。 无论如何,我可以恢复是否有正确的数据?

alt text http://img62.imageshack.us/img62/1934/backup1.gif

回答

5

好消息是你没有(或至少不应该)失去了你的工作。通过选择“append”选项(这是默认行为),发生的所有事情都是最近一次备份被追加到最后一次备份的末尾。因此,在同一个备份文件中,您有2个备份。

从备份文件还原时,如果通过GUI执行此操作,则应该选择要还原的特定备份集 - 并且应该有两个可从中还原的备份集。

如果您是通过T-SQL这样的恢复命令看起来有些像:

RESTORE DATABASE [my_db] FROM DISK = N'C:\my_db.bak' WITH FILE = 2... 

这里作为“FILE = 2”选项,指定是要恢复其备份集的关键。

希望可以帮助您恢复数据。

+0

是的,我发现Red Gate Data Compare允许您比较备份。然后选择备份内的备份集。欢呼 – aron 2010-06-05 12:35:47

+0

这发生在我身上,但我没有看到GUI选项。我只能使用您提供的命令(FILE = 2,如上所述)恢复数据库。谢谢! – Jake 2016-10-25 18:21:31

相关问题