队列读取器代理 遇到错误 Row handle is invalid

简介: 原文:队列读取器代理 遇到错误 Row handle is invalid 今天测试在发布中更改表名称,在发布数据库更改后重新发布这个表。 但是原来的表在订阅没有删除,不小心插入数据到原表中,队列读取器停止并报错。
原文: 队列读取器代理 遇到错误 Row handle is invalid


今天测试在发布中更改表名称,在发布数据库更改后重新发布这个表。
但是原来的表在订阅没有删除,不小心插入数据到原表中,队列读取器停止并报错。






队列读取器代理在连接“HZC”上的“DBname”时遇到错误“Row handle is invalid.”。
请确保正确定义了分发和订阅,并确保这两台服务器都在运行。 


队列应用到发布服务器失败,原因是在发布数据库中找不到表对象


解决办法:



--先在订阅数据库把堵塞的队列删除
SELECT *  FROM [dbo].[MSrepl_queuedtraninfo] (NOLOCK)order by maxorderkey asc

DELETE FROM [dbo].[MSrepl_queuedtraninfo] WHERE tranid='Ha;.ha7`Q1K<N4PVbKTgD=5---/XHM--'
DELETE FROM [dbo].[MSreplication_queue]   WHERE tranid='Ha;.ha7`Q1K<N4PVbKTgD=5---/XHM--'


执行后队列读取器会回到正常状态。
接下来为了确保队列不受原来的订阅表影响,删除原来的【触发器】即可。

DROP TRIGGER trg_MSsync_del_Tab,trg_MSsync_ins_Tab,trg_MSsync_upd_Tab

--也可以把没有的数据和对象从订阅库中删除!
DROP PROCEDURE sp_MSdel_dboTab,sp_MSins_dboTab,sp_MSupd_dboTab

DELETE FROM dbo.MSreplication_objects WHERE article='Tab'

DELETE FROM dbo.MSsubscription_articles WHERE article='Tab'

DELETE FROM dbo.MSsubscription_articlecolumns 
WHERE artid IN(SELECT artid FROM dbo.MSsubscription_articles WHERE article='Tab')


原来的订阅数据库的这个表【Tab】就不影响发布了,可删除或保留。





目录
相关文章
|
5月前
|
前端开发 应用服务中间件
SpringMVC 文件上传 消息 Required request part ‘file‘ is not present描述 由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者
SpringMVC 文件上传 消息 Required request part ‘file‘ is not present描述 由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者
310 0
接口返回aop.unknow-error,系统繁忙
创建门店返回aop.unknow-error,大多数是因为传入的门店详细地址、店铺经纬度、省市区号指向的不是同一个地点而造成的,出现此类问题时,ISV需要首先核对上述地址是否指向相同地方,经纬度是否填反,是否没有使用高德坐标系,省市区号是否不是国标,是否填错。
1129 0
|
6月前
|
JavaScript 前端开发
如何处理 Event is Not Defined 错误消息
如何处理 Event is Not Defined 错误消息
123 0
|
4月前
|
Serverless
函数计算FC的SD运行后报错怎么处理?{"ErrorCode":"ResourceThrottled","ErrorMessage":"Reserve resource exceeded limit"}
函数计算FC的SD运行后报错怎么处理?{"ErrorCode":"ResourceThrottled","ErrorMessage":"Reserve resource exceeded limit"}
168 1
|
6月前
|
网络安全
解决访问项目时发生SSL 接收到一个超出最大准许长度的记录。 错误代码:SSL_ERROR_RX_RECORD_TOO_LONG的错误~
解决访问项目时发生SSL 接收到一个超出最大准许长度的记录。 错误代码:SSL_ERROR_RX_RECORD_TOO_LONG的错误~
589 0
|
10月前
|
存储 缓存 KVM
KVM创建存储池中报错:确认输入时未捕获的错误:constructor returned null解决
KVM创建存储池中报错:确认输入时未捕获的错误:constructor returned null解决
153 0
解决办法:av_interleaved_write_frame()返回-22 错误
解决办法:av_interleaved_write_frame()返回-22 错误
89 0
如何处理OData错误消息Property XX at offset XX is invalid
如何处理OData错误消息Property XX at offset XX is invalid
299 0
如何处理OData错误消息Property XX at offset XX is invalid
如何处理错误消息Query XXX is invalid or contains errors
如何处理错误消息Query XXX is invalid or contains errors
138 0
如何处理错误消息Query XXX is invalid or contains errors
|
存储 中间件
为什么使用中间件下载时总是收到警告消息Object is in status Wait
为什么使用中间件下载时总是收到警告消息Object is in status Wait
134 1
为什么使用中间件下载时总是收到警告消息Object is in status Wait