如何解决始终开启的 SQL Server 差异备份
我们有 2 台服务器始终在线,我们称它们为 Node1 和 Node2。 除了星期一,我们每天都运行差异备份,每周一使用 Ola Hallengren 作业运行完整备份。 并且每小时记录一次备份。 始终开启的备份首选项设置为“主要”并且备份不只是复制。
我阅读了很多关于 LSN 的日志,但没有找到任何与完整备份相关的内容。
假设 1 年一切顺利,所有备份都在 Node1 上。然后突然在不是星期一的一天发生故障转移(差异备份)。 Node2 差异备份是来自上次已知的 Node1 完整备份还是其他内容(例如从今年年初开始)?。
是否有查询我可以在辅助副本上看到最新的 LSN 并确认它是主副本中的那个?
谢谢
解决方法
一点说明不仅可以帮助您回答这个问题,还可以帮助您回答相关问题。
SQL Server 通过在称为差异更改映射的特殊页面中跟踪哪些页面已更改来确定需要进入差异备份的内容。 This link 对那里发生的事情有很好的解释。但这个想法是,当发生完整备份时,该数据结构会被清零。注意 - copy_only 和 non-copy_only 完整备份之间的一个(可能是唯一的?)区别在于 copy_only 备份不会清除更改映射。当完全备份后数据发生更改时,差异更改映射也会通知此更改。然后,当启动差异备份时,它可以转到该页面以查看备份中需要包含哪些数据。
由于更改映射是一个数据页面(就像您的用户表一样),因此它是可用性组中数据库的一部分。故障转移应该不会影响您执行差异备份的能力。只要新副本是最新的,差异备份就可以正常工作。
您现在可以用这些知识回答的另一个相关问题是:“如果我将完整备份还原到另一台服务器(例如测试服务器)上,之后我是否能够进行差异备份?如果是这样,会发生什么它包含?”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。