完全恢复和差异备份

Kri*_*yer 4 sql-server backup recovery

我将开始将我们的几个数据库从 SIMPLE 过渡到完全恢复。上周我问了一个关于部署策略的问题,我还有一个问题。

考虑一下:

  • 周日(午夜) - 运行完整备份
  • 周一至周六(午夜) - 运行差异
  • 每小时 - 事务日志备份

差异备份是否基本上消除了对当天事务日志的需求?

因此,如果我们在周二晚上 10 点发生灾难性故障,我们将:

  1. 在受影响的数据库上运行尾日志备份
  2. 从周日晚上恢复完整备份
  3. 从星期一晚上恢复 DIFF 备份
  4. 从周二到灾难时间使用日志链进行恢复。

如果是这种情况,那么作为维护计划的一部分,我们是否可以简单地从星期一删除事务日志备份,因为我们与星期一晚上有差异?如果 DIFF 备份失败,将它们保留为冗余是否更明智?

Sea*_*ser 6

有多种方法可以通过您的设置到达预期的目标恢复点。

一些东西:

  1. 由于事务日志重用的最重要原因,您无法消除日志备份。
  2. 不可能知道什么时候会发生问题,因此有多种方法可以到达 RPO 是有用的,有时也是必要的。
  3. 差异不能替代日志备份,它们会降低 RTO,因为它们的应用速度比日志备份快得多,但最终本身并不值钱(跨越损坏的 lsn 点等很有用)
  4. 您将如何提前知道哪些是您需要的,哪些是不需要的?

我不会停止进行日志备份,但您可以在备份软件或过程中设置老化机制,以消除不再需要的文件。

使用您的示例,您有很多路径,但基础是这样的:

始终先获取日志备份的尾部

  1. 恢复完整备份、最新差异、所有日志。
  2. 恢复完整备份,所有事务日志。

这更灵活,因为损坏的备份文件(例如日志文件)可以由差异跨越,或者损坏的完整文件可以由差异跨越等。

我不会改变您目前的策略,但我会确保它满足您的 RPO 和 RTO 要求。

  • @KrisGruttemeyer 你*可以*这样想。让我用另一种方式解释它。差异仅适用于它们所取自(完整)的基础,因为它们仅包括自进行完整备份以来发生更改的范围。差异唯一的共同点(来自同一个完整备份)是它们将反映不同时间的变化,否则它们不会以任何方式连接。差异(完整数据库)不能跨越完整备份边界。 (2认同)