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

aro*_*ron 2 database-restore database-backups sql-server-2008

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

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

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

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

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

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

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

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

Kar*_*arl 5

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

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

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

RESTORE DATABASE [my_db] FROM  DISK = N'C:\my_db.bak' WITH  FILE = 2...
Run Code Online (Sandbox Code Playgroud)

这里的关键是"FILE = 2"选项,它指定要还原的备份集.

希望能帮助您恢复数据.