除去对发布服务器上的特定项目、发布或订阅集的订阅。该存储过程在发布服务器的发布数据库上执行。
sp_dropsubscription [ [ @publication = ] 'publication' ]
[ , [ @article = ] 'article' ]
[ @subscriber = ] 'subscriber'
[ , [ @destination_db = ] 'destination_db' ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] 'reserved' ]
[@publication =] 'publication'
是关联的发布名称。publication 的数据类型为 sysname,默认设置为 NULL。如果为 all,则表示取消指定订阅服务器的所有发布的所有订阅。
[@article =] 'article'
是项目名。article 的数据类型为 sysname,默认设置为 NULL。如果为 all,则表示除去对各指定发布和订阅服务器的所有项目的订阅。如果没有提供 article,则表示除去发布中的所有项目的订阅。对即时同步发布使用 all。
[@subscriber = ] 'subscriber'
是要除去订阅的订阅服务器名。subscriber 的数据类型为 sysname,没有默认设置。如果为 all,则表示除去所有订阅服务器的所有订阅。
[@destination_db = ] 'destination_db'
是目的数据库名。destination_db 的数据类型为 sysname,默认设置为 NULL。如果为 NULL,则表示从该订阅服务器中除去所有订阅。
[@ignore_distributor =] ignore_distributor
仅限内部使用。
[@reserved = ] 'reserved'
仅限内部使用。
0(成功)或 1(失败)
sp_dropsubscription 用于快照复制和事务复制。
如果除去即时同步发布中的一个项目上的订阅,则不能将其添加回来,除非是除去发布中所有项目上的订阅并将它们同时添加回来。
只有 sysadmin 固定服务器角色成员或 db_owner 固定数据库角色成员才能执行 sp_dropsubscription。来自订阅服务器的远程连接可以除去对现有发布或项目的订阅。