这就是我正在做的,
- 在凌晨 1 点进行完整的 FILE 备份
- 每 15 分钟进行一次差异文件备份
- 我们将所有数据 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 数据是一致的,我们就可以继续。
我认为您可能错误地使用了差异备份和日志备份。差异备份备份自上次完整备份以来的所有内容;日志备份备份自上次日志备份以来的所有内容。在您的情况下,最大的不同是差异备份将全天增长,因此在下午 4:00 比在上午 8:00 需要更长的时间。
这是一种更常见的方式来做我认为你想要完成的事情:
如果您以这种方式进行设置,您可以使用日志传送将每个日志备份还原到服务器 B,因为它是创建的,这可能比使用差异来做同样的事情要快。如果您需要将数据库完全恢复到服务器 B,您将恢复完整备份,然后是最近的差异备份(因为它包含自上次完全备份以来的所有内容),然后是自最近一次完整备份以来的日志备份或差异备份。
在这种情况下,您不需要事务日志备份来恢复您的数据库;但是您仍然需要执行它们以清除日志,否则它们将增长以填满所有可用的磁盘空间。
只要数据库处于简单恢复模式,就不需要日志备份。这应该适用于您的场景。
但是,如果您让数据库处于完全恢复模式,则需要进行日志备份以允许日志自行回收。不过,在这种情况下,这没有意义。只需使用简单模式。