合并复制未初始化的订阅已过期或不存在

时间:2015-02-07 22:43:11

标签: sql-server database-replication merge-replication

我正在尝试使用发布SQL Server 2012标准和订阅SQL Server 2012 Express之间的Web同步来设置合并复制。按照Technet提供的说明操作后,我坚持这一点:

Source:  Merge Process(Web Sync Server)
Number:  -2147200985
Message: The subscription to publication 'MyMergePublication' has expired or does not exist.

我已经验证SSL认证是好的,我可以浏览到发布机器的URL https:\\ mycomputer \ replisapi.dll并获得预期的输出。我已经确认快照已经设置好了,我拿了一把巨锤和一把锤子。使用管理员帐户来运行池身份,这在安全方面非常糟糕,但是想要验证是不是安全性让我失望。

为了进一步解开这个谜团,当我尝试并且未能同步时,发布者确认已经注册了新订户,但它根本无法获取快照,因此订户数据库仍然是空的。

在复制监视器上,没有失败的同步历史记录或任何错误;所有它必须说的是订户是未初始化的,而不是更多。

调高合并代理的详细程度,我看到一些sql正在执行并尝试复制sql,我发现这个失败并出现同样的错误:

{call sys.sp_MSgetreplicainfo(?,?,?,?,?,?,?,90)}

我只用了提供的3个强制参数来调用它,它会失败。尽管事先调用sp_helpmergepublication确实为该发布返回了一行。奇怪的是,sp_helpmergepublication的内容与我为订阅配置的内容不匹配(例如,当正确查看属性时,它表示web url为null,表示正在设置web url)。不确定这是否重要。

sp_MSgetreplicainfo的内容包含对另一个系统sprocs的调用,由于某些原因我无法运行(说没找到)所以我不确定这里实际发生了什么。

非常感谢任何线索。

1 个答案:

答案 0 :(得分:0)

您需要重新创建订阅并让发布商熟知订阅。