暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

复制的事务正等待下一次日志备份或等待镜像伙伴更新

原创 沙沃兴 2023-03-06
527

问题:

复制订阅出现:复制的事务正等待下一次日志备份或等待镜像伙伴更新


发布 'xx' 的并发快照不可用,因为该快照尚未完全生成,或者日志读取器代理未运行,无法激活它。如果并发快照的生成过程中断,则必须重新启动用于该发布的快照代理,直到生成完整的快照。


原因分析:

在同一数据库上使用镜像和复制,为保证镜像切换后,复制还能继续,因此当镜像断开或暂停时,复制日志读取器会被阻塞直到日志被同步到镜像从服务器端(无论异步还是同步)。

always on的辅助副本secondary是获取了primary的日志信息而进行的redo动作实现了数据库的同步工作。当secondary异常宕机后,为了保证secondary起来时能够继续上次读取日志的地方做redo动作,db的transaction log就不会进行备份,而一直增大,最坏的情况导致磁盘爆满,无法使用。如当前01为primary,02为secondary,为了避免failover后,02切换为主副本,而此节点却没有获取到和01一样新的replication信息,导致异常。所以所有的always on node都要知道同步的情况,否则不继续进行同步。即所有node都获取replication信息后,才允许replication继续进行

 

解决方案:

打开Trace flag 1448,在高性能和高安全下同样有效

DBCC TRACEON(1448,-1)

1448 甚至在异步辅助数据库不确认接受更改的情况下,也使复制日志读取器前移。 甚至在此跟踪标志启用的情况下,日志读取器也始终等待同步辅助数据库。 日志读取器将不会超过同步辅助数据库的最小确认。 此跟踪标志应用于SQL Server 的实例,而不仅是可用性组、可用性数据库或日志读取器实例。 应用会立即生效,无需重新启动。 此跟踪标志可提前激活或在同步辅助数据库失败时激活。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论