选择附加到现有备份而不是覆盖
-
05-10-2019 - |
题
我有一个数据库,我是2天前的第一个备份。然后昨天我花了整个添加新记录。今天早上,我跑了一个备份, (但是我选择了附加到现有备份集) 如下图所示。
我刚刚进行了还原,发现它从昨天开始删除了所有数据,并从2天前的备份中恢复了所有数据。 不是早晨备份中的版本。
我将此备份文件拉开以确保安全。
我更改了DB中的一些数据,然后再次备份,但是这次我选择了 “覆盖所有现有的备份集”
现在,当我还原数据库时,似乎正在恢复备份中的数据 正确. 我想我在这里学到了一门教训,如果我错了
我的问题是,我损失了整天的工作吗?
我仍然有今天早上的备份.bak文件安全的邮政编码。无论如何,我可以在正确的数据中还原吗?
解决方案
好消息是您没有(或至少不应该)失去工作。通过选择“附加”选项(默认行为),所有发生的事情就是将最新的备份附加到最后一个备份的末尾。因此,在同一备份文件上,您有2个备份。
从备份文件还原时,如果您通过GUI进行此操作,则应获得选择要还原的特定备份集的选项 - 并且应该有两个可以从中恢复的备份集。
如果您通过T-SQL进行此操作,那么Restore命令看起来会像:
RESTORE DATABASE [my_db] FROM DISK = N'C:\my_db.bak' WITH FILE = 2...
这里的键是指定要还原的备份集的“文件= 2”选项。
希望可以帮助您获取数据。
不隶属于 StackOverflow