【问题标题】:SQL Server Differential backups with Always On使用 Always On 的 SQL Server 差异备份
【发布时间】:2021-02-02 15:09:29
【问题描述】:

我们有 2 台服务器始终在线,我们称它们为 Node1 和 Node2。 除了星期一,我们每天都运行差异备份,每周一使用 Ola Hallengren 作业运行完整备份。 并且每小时记录一次备份。 始终开启的备份首选项设置为“主要”,并且备份不只是复制。

我阅读了很多关于 LSN 日志的信息,但没有找到与完整备份相关的任何内容。

假设 1 年一切正常,所有备份都在 Node1 上。然后突然在非星期一的一天发生故障转移(差异备份)。 Node2 差异备份是来自上一次已知的 Node1 完整备份还是其他(例如从年初开始)?

是否有查询我可以在辅助副本上看到最新的 LSN 并确认它是主副本中的那个?

谢谢

【问题讨论】:

    标签: sql-server database-backups


    【解决方案1】:

    一个小小的说明不仅可以帮助您回答这个问题,还可以帮助您回答相关问题。

    SQL Server 通过在称为差异更改映射的特殊页面中跟踪哪些页面已更改来确定需要进入差异备份的内容。 This link 对那里发生的事情有很好的解释。但是这个想法是,当发生完整备份时,该数据结构会被清零。注意 - copy_only 和 non-copy_only 完整备份之间的一个(可能是唯一的?)区别是 copy_only 备份不会清除更改映射。当完全备份后数据发生变化时,差异变化图也会被告知这种变化。然后,当启动差异备份时,它可以转到该页面以查看需要在备份中包含哪些数据。

    由于更改图是一个数据页(就像您的用户表一样),它是可用性组中数据库的一部分。故障转移应该不会影响您执行差异备份的能力。只要新副本是最新的,差异备份就可以正常工作。

    您现在可以用这些知识回答的另一个相关问题是:“如果我将完整备份还原到另一台服务器(例如测试服务器),我之后是否能够进行差异备份?如果是这样,将会它包含吗?”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      相关资源
      最近更新 更多