混合事务性复制和日志传送



我使用推送事务复制将一个大型数据库(接近1TB)复制到三台远程服务器上。订阅者是只读的。每个月有一天会插入和更新大量数据(来自其他来源)。它总是在第二天复制失败,我们每个月手动从备份初始化复制。

是否有可能在插入日之前切换到日志发送,并在批量插入发送日志后切换回事务性复制?所以没有必要复制大的备份文件来重新初始化?

No。事务性复制是逻辑的,而日志传送是物理的。你不能随意在两者之间切换。但是,如果您的订阅者一开始是只读的,那么事务性复制可以用日志传送来替代,代价是更新稍微延迟,并且每次应用日志时都必须断开备用站点上的阅读器(通常情况远没有听起来那么糟糕)。考虑到与事务性复制相比,日志传送效率更高,问题更少,我将毫不犹豫地永久地执行此替换。

我怀疑您是否需要在计划的基础上重新初始化。我已经让复制拓扑运行了很长一段时间,而不需要重新初始化。当我们这样做的时候,只是因为有一个图式的改变没有发挥好作用。当您说大量数据无法复制时,这是什么意思?复制将很乐意向订阅者提供大数据更改。如果您遇到了延迟限制,您可以增加延迟限制,或者在发布者处将大事务分解为小事务。您还可以为日志读取器代理设置MaxCmdsInTran选项,让为您分解事务。

最新更新