跳过事务复制中的错误
前些天部署了一套事务复制环境,订阅端只需要最近五年的数据。
复制采用的是备份文件初始化,复制搭好后用了一个脚本在订阅端删除五年前的数据。
今天早上复制出问题了。出现了The row was not found at the Subscriber when applying the replicated command.的错误
导致堆积了大量的未分发命令。
--------------------------------------------------------------------------------------------------------------------------
解决方案1):
根据http://technet.microsoft.com/en-us/library/ms151331(v=sql.105).aspx
在分发数据库上运行:
sp_helpsubscriptionerrors [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @subscriber_db = ] 'subscriber_db'
找到返回值中最大的xact_seqno
之后在订阅端数据库上运行:
sp_setsubscriptionxactseqno [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @xact_seqno = ] xact_seqno
但是,如果再次出现同样的问题,还得重复同样的步骤来忽略错误。
--------------------------------------------------------------------------------------------------------------------------
解决方案2):
通过在分发代理配置文件中设置Continue On Data ConsistencyErrors,直接跳过事务复制中的错误。(因为我根本就不关心5年前的数据的变更)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2014-03-27 T-SQL查询两个日期之间的休息日(周六周日)天数