2

我有一个数据库,两天前我做了第一次备份。然后昨天我花了整个时间添加新记录。今天早上我运行了一个备份,(但我选择了追加到现有的备份集),如下图所示。

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

为了安全起见,我压缩了这个备份文件。

我更改了数据库中的一些数据,然后我再次运行备份,但这次我选择了“覆盖所有现有备份集”

现在,当我恢复数据库时,它似乎可以正确地从备份中恢复数据。 我想我在这里吸取了教训,如果我错了

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

我今天早上的备份 .bak 文件仍然保存在一个 zip 文件中。无论如何我可以用正确的数据恢复吗?

替代文字 http://img62.imageshack.us/img62/1934/backup1.gif

4

1 回答 1

6

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

当您从备份文件恢复时,如果您通过 GUI 执行此操作,您应该可以选择要恢复的特定备份集 - 并且应该有两个可以恢复的备份集。

如果您通过 T-SQL 执行此操作,restore 命令将如下所示:

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

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

希望能帮助您找回数据。

于 2010-05-29T23:53:03.833 回答