我有一个数据库,我在2天前做了第一次备份。 然后昨天我花了整整一个新记录。 今天早上我运行了一个备份(但我选择了附加到现有备份集),如下图所示。
我刚刚进行了恢复,我发现它从昨天删除了我的所有数据,并从2天前的备份恢复了它。 不是今天早上备份的版本。
我将此备份文件压缩为安全。
我更改了数据库中的一些数据,然后我再次运行备份,但这次我选择“覆盖所有现有的备份集”
现在,当我恢复数据库时,它似乎从备份正确恢复数据。 我想我在这里吸取了教训,如果我错了正确
我的问题是,我是否失去了一整天的工作?
我今天早上还有一个拉链备份.bak文件。 无论如何我能用正确的数据恢复吗?
答案 0 :(得分:5)
好消息是你没有(或者至少不应该)丢失你的工作。通过选择“append”选项(这是默认行为),所有发生的事情都是最新备份附加到上次备份的末尾。因此,在同一备份文件上,您有2个备份。
从备份文件还原时,如果您通过GUI执行此操作,则应该可以选择要还原的特定备份集 - 并且应该有两个可以从中还原的备份集。
如果您通过T-SQL执行此操作,则还原命令将类似于:
RESTORE DATABASE [my_db] FROM DISK = N'C:\my_db.bak' WITH FILE = 2...
这里的关键是“FILE = 2”选项,它指定要恢复的备份集。
希望能帮助您恢复数据。