即使我们进行完整 + 差异文件备份,是否也需要日志备份?

即使我们进行完整 + 差异文件备份,是否也需要日志备份?

这就是我正在做的事情,

  1. 凌晨 1 点进行完整文件备份
  2. 每 15 分钟进行一次差异文件备份
  3. 我们将所有数据通过 FTP 传输到其他位置,并在那里恢复所有内容

因此,现在从我的源数据库到目标数据库,每 15 分钟,它都会在其他节点上远程复制一次。现在我们确实有完整的文件,我们还需要备份事务日志吗?我们愿意在发生灾难时牺牲最后 15 分钟的数据,因为这是我们可以远程管理的最好方法。

因为即使出现任何问题,如果发生硬件故障,最后 15 分钟的数据也永远无法恢复,并且恢复所有数据需要一天以上的时间,而其他服务器又无法开始接管并继续运行。

理想情况下,想象一下下面的情况,

1.00 AM full file backup transferred to server B
1.15 AM differential file backup transferred to server B
1.30 ... same as above
1.45 ... same as above
1.50 ... crash, machine down...

此时,服务器B是否可以从1.45恢复的数据库继续运行?

因为如果机器在 1.50 时崩溃,它将无法传输日志备份,并且我们已经在服务器 B 上恢复了完整备份和差异备份。

因此问题重新定义,如果我们有正确的完整 + 差异文件备份,我们还需要日志备份吗?

只要 1.45 数据一致,我们就可以开始了。

答案1

我认为您可能错误地使用了差异备份和日志备份。差异备份会备份自上次完整备份以来的所有内容;日志备份会备份自上次日志备份以来的所有内容。您的情况的最大区别在于差异备份会在一天内不断增长,因此在下午 4:00 时所花的时间会比在上午 8:00 时所花的时间更长。

这是我认为您要完成的事情的一种更常见的方法:

  • 凌晨 1:00 进行完整备份
  • 差异备份每 8 小时
  • 日志备份每 15 分钟

如果您以这种方式进行设置,则可以使用日志传送将每个日志备份还原到服务器 B,就像创建时一样,这可能比使用差异备份执行相同操作更快。如果您需要将数据库完全还原到服务器 B,则需要还原完整备份,然后还原最近的差异备份(因为它包含自上次完整备份以来的所有内容),然后还原自最近的完整备份或差异备份以来的日志备份。

答案2

在这种情况下,你不需要事务日志备份来恢复数据库;但是你仍然需要执行这些操作才能清除日志,否则它们将增长并填满所有可用的磁盘空间。

答案3

只要数据库处于简单恢复模式,就不需要日志备份。这应该适用于您的情况。

但是,如果将数据库置于完全恢复模式,则需要进行日志备份,以便日志自行循环。不过,在这种情况下,这毫无意义。只需使用简单模式即可。

相关内容