sql-server - sp_replmonitorsubscriptionpendingcmds 到表中 [How2]

标签 sql-server tsql sql-server-2005

我正在寻找一份工作,告诉我复制中待处理命令的数量, 我正在使用 sp_replmonitorsubscriptionpendingcmds 并尽力将其放入表中。

但是我一直报错 INSERT EXEC 语句不能嵌套。 任何想法如何去做? 我愿意接受建议

谢谢

我试过了:

DECLARE @tab AS TABLE (pendingcmds int, estimatedprocesstime int) 

INSERT into @tab EXECUTE  sp_executesql N'exec sp_replmonitorsubscriptionpendingcmds   @publisher=[AUTOSQL1\COMPLOT],  
@publisher_db=PTK_M,  @publication=PTK_M_1way,  
@subscriber=[COMPLOTSQL2008\REPL],  @subscriber_db=
PTK_M,  @subscription_type=0'
  SELECT * FROM @tab

insert pendingcmds   (pendingcmdcount ,estimatedprocesstime) 
execute sp_replmonitorsubscriptionpendingcmds   
@publisher=[AUTOSQL1\COMPLOT],  @publisher_db=PTK_M,  
@publication=PTK_M_1way,  @subscriber=[COMPLOTSQL2008\REPL],  
@subscriber_db=PTK_M,  @subscription_type=0
into pendingcmds   (pendingcmdcount ,estimatedprocesstime)

declare @v nvarchar (max)
set @v=N'exec sp_replmonitorsubscriptionpendingcmds   @publisher=[AUTOSQL1\COMPLOT],  
@publisher_db=PTK_M,  @publication=PTK_M_1way,  
@subscriber=[COMPLOTSQL2008\REPL],  @subscriber_db=
PTK_M,  @subscription_type=0'
print @v
INSERT INTO pendingcmds (pendingcmdcount,estimatedprocesstime)
exec sp_executesql @v

最佳答案

sp_replmonitorsubscriptionpendingcmds 在内部调用以下内容,SQL Server 将其视为嵌套插入。

insert into @countab (pendingcmdcount)
exec @retcode = sys.sp_MSget_repl_commands 
                @agent_id = @agent_id,
                @last_xact_seqno = @xact_seqno,
                @get_count = 2,
                @compatibility_level = 9000000

这是一篇关于解决方法的好博客:SimpleTalk Monitoring Transactional Replication in SQL Server by Francis Hanlon

关于sql-server - sp_replmonitorsubscriptionpendingcmds 到表中 [How2],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21660003/

相关文章:

c# - 是否可以使用 Dapper 截断一个表或多个表?

sql - 在 SQL Server 的分区表中搜索日期

sql - 如何将 SQL Server 角色添加为另一个角色的成员?

sql - 如果第二个表中不存在条目,则加入

sql - T-SQL : Comparing Two Tables - Records that don't exist in second table

c# - 通过 .net winform 应用程序连接到 sql server

.net - 捕获异常作为预期的程序执行流程控制?

sql-server - 拥有包含聚集索引中的主键的非聚集索引是否不好?

sql-server - 当在 T-SQL 存储过程中声明变量时,它是保存在内存中还是 tempdb 中?

sql-server - 将文件添加到 MSSQL 数据库时如何使用相对文件路径