可更新订阅中,用户都是操作订阅数据库的。由于用户有时大量操作,我想在订阅服务器中查看队列正在执行(或堵塞)的命令——即正在从订阅同步回到发布的命令,使用存储过程sys.sp_replqueuemonitor查看,总数没有返回任何记录。之前操作系统windows 2003是可以的,现在都换成window server 2008 r2就不行了。
当前配置:windows server 2008 r2 sp1 + SqlServer 2008 sp4
查询语句如下:
SELECT TOP 5 tranid,COUNT(*) CMD
FROM [Platform].[dbo].[MSreplication_queue] (NOLOCK)
GROUP BY tranid ORDER BY CMD DESC
select publisher, publisher_db, publication from dbo.MSsubscription_agents
上面是获取存储过程的参数,下面这个语句是查看订阅数据库正在执行的命令:
exec sys.sp_replqueuemonitor 'publisher','publisher_db','publication','tranid',0
队列中的事务还在,但是这个命令没有返回结果。
求解,谢谢各位了!~