SQL Server 主从删除一个已发布的表(Article)

第一步:查看当前有哪些订阅

USE AIS20241217182025;
GO

EXEC sp_helpsubscription 
    @publication = N'2025-K3-SW',       --发布名称
    @article = N'T_STK_STKBALOCCUR';    --要取消发布的表


第二步:删除订阅

根据上一步查到的订阅信息,执行 sp_dropsubscription 删除订阅。
示例(推送订阅):

USE AIS20241217182025;
GO

EXEC sp_dropsubscription 
    @publication = N'2025-K3-SW',
    @article = N'T_STK_STKBALOCCUR',
    @subscriber = N'YourSubscriberServerName',   -- 替换为实际的订阅服务器名
    @destination_db = N'YourSubscriberDB';       -- 替换为实际的订阅数据库名


如果不确定订阅服务器名,可以用 % 通配符(但谨慎使用):

EXEC sp_dropsubscription 
    @publication = N'2025-K3-SW',    --发布名称
    @article = N'T_STK_STKBALOCCUR',    --要取消发布的表
    @subscriber = N'all';  -- 删除所有订阅(慎用)


第三步:再次尝试删除 Article

USE AIS20241217182025;
GO

EXEC sp_droparticle 
    @publication = N'2025-K3-SW',        --发布名称
    @article = N'T_STK_STKBALOCCUR',     --要取消发布的表
    @force_invalidate_snapshot = 1;      -- 快照失效


白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论