0

我正在做以下练习。我原以为答案是“恢复最新的完整备份。然后,恢复最新的差异备份”。

但是,给出的答案是“恢复最新的完整备份,并恢复最新的差异备份。然后,从最近的差异备份恢复故障时间之前的每个日志备份”。

我认为这是不正确的,因为没有在简单模式下进行事务日志备份?

谢谢!

场景:数据库使用简单恢复模型。每天 01:00 进行完整的数据库备份。每日 13:00 差异备份。

问题:差异备份失败。然后数据库在 14:00 失败。如何恢复数据库并确保最小的数据丢失?

4

2 回答 2

1

两个答案都不正确:你的和他们的。

你是对的一件事——SQL Server 甚至不允许你在设置为“简单”恢复模式的数据库上创建日志备份。

所以他们的回答是不正确的,因为当日志备份不存在时,它说“恢复每个日志备份”。但是,您的答案也不正确,因为自完整备份以来只有一个差异备份,并且该差异备份失败。

所以......真正的答案是:
(1)尝试备份失败的数据库。
这不会让事情变得更糟,如果成功,以后可能会非常有用。(如果它有非常重要的信息,您可以稍后尝试将其恢复到备用环境,看看是否可以恢复任何信息。)

(2) 从最新的完整备份恢复。

问题?

于 2013-10-23T14:56:22.217 回答
0

场景:数据库使用简单恢复模型。每天 01:00 进行完整的数据库备份。每日 13:00 差异备份。

问题:差异备份失败。然后数据库在 14:00 失败。如何恢复数据库并确保最小的数据丢失?

在这种情况下,您能做的最好的事情是:在 01:00 恢复您的完整数据库备份。

RESTORE DATABASE database FROM DISK = 'D:/FULL' WITH NORECOVERY, REPLACE

所以你的差异备份失败了,没有机会恢复,否则全量备份后的下一步就是:恢复差异备份(13:00)。

RESTORE DATABASE database FROM DISK = 'D:/FULL' WITH RECOVERY

在您的情况下,自上次完整备份 01:00 以来的所有更改都将丢失。

于 2015-11-30T09:51:54.390 回答