SQL Server复制 - 本地订阅在删除后仍然可见?

时间:2016-11-25 16:38:31

标签: sql sql-server replication

使用可以通过SQL Server Replication生成的脚本,我试图删除订阅和发布作为工作的一部分:

-- Dropping the transactional subscriptions
EXEC 
    NTTMI.sys.sp_dropsubscription 
        @publication = N'NTTMI_STAGING_TEST', 
        @subscriber = N'PENGUIN', 
        @destination_db = N'NTTMI_STAGING', 
        @article = N'all'


-- Dropping the transactional articles
EXEC 
    NTTMI.sys.sp_dropsubscription 
        @publication = N'NTTMI_STAGING_TEST', 
        @article = N'CallScripterSource', 
        @subscriber = N'all', 
        @destination_db = N'all'


EXEC 
    NTTMI.sys.sp_droparticle 
        @publication = N'NTTMI_STAGING_TEST', 
        @article = N'CallScripterSource', 
        @force_invalidate_snapshot = 1

-- Dropping the transactional publication
EXEC 
    NTTMI.sys.sp_droppublication 
        @publication = N'NTTMI_STAGING_TEST'



-- Disabling the replication database
EXEC 
    master.sys.sp_replicationdboption 
        @dbname = N'NTTMI', 
        @optname = N'publish', 
        @value = N'false'


exec NTTMI.sys.sp_subscription_cleanup
    @publisher = 'Penguin', @publisher_db = 'NTTMI', @publication = 'NTTM_STAGING_TEST'

但是,当我在发布消失后检查复制文件夹但是本地订阅仍然可见时(参见下图)。有什么我想念的吗?

Replication Folder

2 个答案:

答案 0 :(得分:0)

看起来你设置了一个拉订阅。由于这些是在订阅者处部分管理(而不是在分发者处完全管理的推送订阅),因此您需要在订阅者处运行sp_droppullsubscription

答案 1 :(得分:0)

谢谢Ben,

我试过了,它提出了以下内容:

消息20017,级别16,状态1,过程sp_droppullsubscription,第156行 订阅服务器上的订阅不存在。

以下是我可以使用的详细信息:

SQL Error and Replication Details

我做错了吗?