原文:队列读取器代理 遇到错误 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】就不影响发布了,可删除或保留。

队列读取器代理 遇到错误 Row handle is invalid的更多相关文章

  1. SqlServer 可更新订阅队列读取器代理错误:试图进行的插入或更新已失败

    原文:SqlServer 可更新订阅队列读取器代理错误:试图进行的插入或更新已失败 今天发现队列读取器代理不停地尝试启动但总是出错: 其中内容如下: 队列读取器代理在连接"Publicati ...

  2. SQL Server 日志和代理的错误日志

    本文介绍的日志不是事务日志,而是SQL Server 日志和代理的错误日志,按照主体把错误日志分为SQL Server.SQL Server Agent.Database Mail,以及 Window ...

  3. SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误

    1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...

  4. [原创]SSIS-WMI 数据读取器任务:监控物理磁盘空间

    背景:       随着时间的推移,我们的DW会越来越大,也就意味着磁盘空间会越来越小,那如果哪一天留意不当,就会造成磁盘空间的不足而导致ETL失败,最终影响我们的系统的数据正确性和使用,更严重的有可 ...

  5. MQ队列管理器搭建(一)

    多应用单MQ使用场景 如上图所示,MQ独立安装,或者与其中一个应用同处一机.Application1与Application2要进行通信,但因为跨系统,所以引入中间件来实现需求.   Applicat ...

  6. 【原创】SSIS-WMI 数据读取器任务:监控物理磁盘空间

    1.背景 随着时间的推移,我们的DW会越来越大,也就意味着磁盘空间会越来越小,那如果哪一天留意不当,就会造成磁盘空间的不足而导致ETL失败,最终影响我们的系统的数据正确性和使用,更严重的有可能导致物理 ...

  7. 利用poi包装一个简单的Excel读取器.一(适配一个Reader并提供readLine方法)

    通常,读文本我们会使用BufferedReader,它装饰或者说管理了InputStreamReader,同时提供readLine()简化了我们对文本行的读取.就像从流水线上获取产品一样,每当取完一件 ...

  8. golang实现并发爬虫三(用队列调度器实现)

    欲看此文,必先可先看: golang实现并发爬虫一(单任务版本爬虫功能) gollang实现并发爬虫二(简单调度器) 上文中的用简单的调度器实现了并发爬虫. 并且,也提到了这种并发爬虫的实现可以提高爬 ...

  9. Laravel 5.1 文档攻略 —— Eloquent: 读取器和修饰器

    date_range 8月前 tag_faces Woody remove_red_eye 1483 chat0 简介 这一章其实很简单,Model的属性不是和数据表的字段一一对应吗? 那么在存储和呈 ...

随机推荐

  1. 【codeforces 757A】Gotta Catch Em' All!

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  2. 王立平--TableLayout

    效果: <?xml version="1.0" encoding="utf-8"?>  <TableLayout xmlns:android= ...

  3. js进阶 11-1 jquery中的页面内容操作的三个方法

    jquery中的页面内容操作的三个方法 一.总结 一句话总结:记三个方法即可.text,html,val.因为这里是方法,所以设置值的是后面方法的参数. 1.jquery中的页面内容操作的三个方法? ...

  4. C++ 快速入门笔记:基本语法

    数据类型 枚举类型 enum color { red, green, blue } colors; colors = blue; 默认情况下,第一个名称的值是 0,后面的依次加 1.也可以自定初始值: ...

  5. [ES2016] Check if an array contains an item using Array.prototype.includes

    We often want to check if an array includes a specific item. It's been common to do this with the Ar ...

  6. Docker简单的使用命令

    Hello World 使用[docker run]命令在docker container中执行应用程序 <pre name="code" class="plain ...

  7. qmake生成vcproj & sln

    qmake生成的vs工程与环境变量中的 qmakespec相关,可以有两种方法: 1.默认情况下,即环境变量qmakespec为你装的qt for vs的版本,默认生成的为该版本的vs工程,如,你装的 ...

  8. [LeetCode]Word Break 特里

    意甲冠军:推断字符串给定的字符串是否构成词典. 来推断目标字符串相匹配整个字典.我们需要来推断目标字符串的每个前缀开始的下一场比赛,这需要匹配目标字符串的成功,所有前缀的枚举. class TrieN ...

  9. DM365 IPNC软件架构具体解释

    于2013在上半场 - 年DM365.DM368的IPNC(网络摄像机)与稳定性测试工作产品结束. 1.简单介绍: TI针对TMS320DM365.DM368进行了DVR和IPNC的应用方案參考.DV ...

  10. SQL2008错误:当 MUST_CHANGE 为 ON (开)时,不能将 CHECK_POLICY 和 CHECK_EXPIRATION 选项设为 OFF (关)。

    假设出现这样的情况,第一个选择是: 在数据库用户管理中去掉了"强制password过期"! 假设把"强制实施password策略"的勾也去掉了,出现例如以下错误 ...