1

环境:将pull订阅与匿名订阅者合并,使用网络同步,发布者为2008R2,订阅者为SQLEXPRESS 2008R2。

问题:我在订阅者上运行 sp_dropmergepullsubscription,在发布者上运行 sp_dropmergesubscription,订阅在订阅者上被删除,但为什么我在发布者的 sysmergesubscriptions 中看到该订阅者的条目,状态仍然为 1?

我在这里找到了一种 建议手动删除条目的方法,但是为什么我必须手动删除东西?

在订阅者上运行 sp_dropmergepullsubscription 后是否需要在发布者上运行 sp_dropmergesubscription?仅在订阅者端删除订阅是不够的?

4

1 回答 1

2

不要手动删除 sysmergesubscriptions 中的条目。手动删除这些条目可能会导致以后无法添加新订阅者。

要在订阅数据库的订阅者处删除对 Merge 发布的拉取订阅,请执行sp_dropmergepullsubscription。然后在发布数据库上的发布者处执行sp_dropmergesubscription。这在How to: Delete a Pull Subscription中有介绍。

在发布者处执行 sp_dropmergesubscription 不会从 sysmergesubscription 中删除条目,但会将状态设置为 2,这表明它已被删除。

如果 sysmergesubscriptions 中的状态仍然为 1,那么您可能错误地执行了 sp_dropmergesubscription。确保指定@publication、@subscriber 和@subscriber_db。此外,为 @subscription_type 指定 pull 值。

于 2013-03-07T02:37:51.083 回答