选择附加到现有备份而不是覆盖

时间:2010-05-28 13:55:10

标签: sql-server-2008 database-restore database-backups

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

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

我将此备份文件压缩为安全。

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

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

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

我今天早上还有一个拉链备份.bak文件。 无论如何我能用正确的数据恢复吗?

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

1 个答案:

答案 0 :(得分:5)

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

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

如果您通过T-SQL执行此操作,则还原命令将类似于:

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

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

希望能帮助您恢复数据。