假设一个组织拥有成功使用可用性组所需的一切,并且他们已经成功使用可用性组几年了,是否有任何理由说明日志传送会成为更好的 DR 解决方案?似乎人们仍在投入日志传送,只是因为它可以满足 RPO 和 RTO。但是,如果使用 AG 不需要任何额外费用,并且 DBA 员工有使用 AG 的经验,那么为什么日志传送会更好呢?
我唯一能想到的是日志传送的内置延迟允许人们在有人忘记在 UPDATE 或 DELETE 语句上放置 WHERE 子句的情况下快速恢复——如果它被及时捕获的话。不太可能,也不是我们关心的事情。
我的一般经验是,随着数据库负载的增加,日志传送需要更多的干预和调整,更难进行故障转移,并且通常有点像 Rube Goldberg 机器(尽管是这类机器的一个非常成功的样本)。
想到几个好处:
日志传送更易于设置(或重新初始化),因为它不需要 WSFC 和其他一些 AG 要求。我不确定您在谈论什么干预和调整,但我同意没有自动故障转移机制。我不同意 Rube Goldberg 的评估——它是一种重复的恢复语句逻辑,它依赖于你已经在进行的日志备份(对吗?),它真的一点也不复杂。我认为有一个巫师的事实让人们相信幕后有一堆魔法,但看看那个巫师的输出,告诉我它有什么复杂之处。:-)
您可以将日志发送到任意数量的辅助服务器(这些可以是任何地方的实例,有或没有 Windows 集群,在任何域中或根本不在域中,等等)。而且,正如你所提到的,任何延迟都是有意义的。
不会因强化日志或促进辅助服务器上的其他活动而导致主服务器上的开销。由于您无论如何都在进行日志备份(再次,对吗?),日志传送根本不会导致主服务器上的额外负载。针对日志传送副本的只读工作负载根本不会影响主数据库。
我写了一篇关于使用日志传送作为 AG 的替代品的博客,这可能有一些额外的见解:
当然,AG 比日志传送有很多优势,但这不是你的问题。:-)