SQL2008 日志读取代理器未运行 进程无法在“XXX”上执行 sp_replcmds

--前因:SQL2005升级至2008 R2 导致复制异常

--错误提示:
--SQL2008 日志读取代理器未运行 进程无法在“XXX”上执行"sp_replcmds".

--解决办法:
--1. 执行下面的脚本
use SCM
EXEC sp_repldone @xactid =NULL, @xact_segno =NULL, @numtrans = 0, @time =0, @reset =1
EXEC sp_replflush
/*
i.  sp_repldone : 更新标识服务器的上次分布式事务的记录.
此存储过程在发布服务器的发布数据库上执行.
(当 xactid 为 NULL、xact_seqno 为 NULL 并且 reset 是 1 时,日志中的所有复制事务都标记为已分发。此过程在事务日志中存在不再有效的复制事务并且想截断该日志时很有用)
-----
ii. sp_replflush: 刷新项目高速缓存.
为获得高效率,项目定义存储在高速缓存中。每当修改或除去项目定义时,其它复制存储过程都使用 sp_seplflush。
只有一个客户端连接能够具有对给定数据库的日志读取器访问权。如果某个客户端具有对数据库的日志读取器访问权,则执行 sp_replflush 将导致该客户端释放其访问权。这样,其它的客户端就能使用 sp_replcmds 或 sp_replshowcmds 扫描事务日志。
*/


--2. 重启SQL Server Agent服务
--3. 备份订阅端表索引
--4. 复制状态正常后,订阅需要重新初始化

--5. 重新在订阅端建立索引





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值