寻找SQL Server 20598 错误的根本原因

在配置了SQL Server分发订阅功能的环境中,出现20598错误和网络相关错误。深入分析日志发现,问题的根本原因是备库的人为手动删除操作导致同步失败。解决方法涉及理解错误原因、排查网络和数据库记录,并通过与研发确认问题所在,最终定位并解决问题。
摘要由CSDN通过智能技术生成

一个香港客户的现网系统,按照客户的需求,我们为他配置和安装了SQL Server的分发订阅功能。实际环境则为:主数据中心位于香港跑马地的总部,运行着MAMDB,DYACDB两个数据库,需要将这两个数据库的数据实时进行同步到位于沙田的分支数据中心,假设跑马地的数据库名称为DB,沙田的分支数据中心名称为BAK的话。实际上就是DB实时将数据传送到BAK上进行同步,保证业务的连续性。

在正常运行了一段时间之后,某天DB数据库报“The row was not found at the Subscriber when applying the replicated command”这个错误,同时会看到有很多的“

SQL Agent The semaphore timeout periodhas expired。”和“[000] Request to run job refused because the job is already running>from a request by Start Sequence 0”

这两条错误将我的注意力一直集中在是否是分发订阅服务出了错误上面。从后两条报错来看,很像是基础网络环境除了问题,但是香港的互联网建设还是很不错的,长时间从跑马地Ping沙田,延时一直都很低。

真的很奇怪,到底是什么原因。

仔细去查看日志,发现一条名叫20598的错误,这是一个很重要的线索。我们需要看看20598该如何处理,Google了一下相关资料,发现尝试输入语句:

USE distribution
02.  
03. go
04.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值