我刚刚开始使用所有很酷的复制工具来以编程方式监视复制
早期发现之一是sp_replmonitorhelpsubscription
当我运行它时
sp_replmonitorhelpsubscription
我得到
消息 20587,级别 16,状态 1,过程 sp_replmonitorhelpsubscription,第 77 行 [批启动第 16 行]
存储过程“sp_replmonitorhelpsubscription”的“@publication_type”值无效。
根据 MS 文档,它应该是有效的,默认值为 null
空(默认)
如果我使用参数运行它,它工作正常。
sp_replmonitorhelpsubscription @publication_type = '0'
我将它与事务复制一起使用,在单个服务器(报告副本)上我已经尝试过并且在 SQL 2017 和 2016 上得到了相同的结果。我正在针对分发数据库运行它
不确定如果我在做一些愚蠢的事情,如果 MS 文档是错误的,或者什么。
为什么 sp_replmonitorhelpsubscription 没有参数就不能工作?
检查代码表明:
这意味着如果
@publication_type
为 NULL 那么它将抛出预期的错误。即使在 2014 年,它也会抛出同样的错误。
另外,你只需要运行
sp_replmonitorhelpsubscription @publication_type = 0
-- 用于事务性发布。因为数据类型是INT
.