sp_dropmergepublication (Transact-SQL)
删除合并发布及其关联的快照代理。 删除合并发布之前必须删除全部的订阅。 发布中的项目将自动删除。 此存储过程在发布服务器的发布数据库中执行。
语法
sp_dropmergepublication [ @publication= ] 'publication'
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] reserved ]
[ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
参数
[ @publication=] 'publication'
要删除的发布的名称。 publication 的数据类型为 sysname,无默认值。 如果为 all,则删除所有的现有合并发布及其关联的快照代理作业。 如果为 publication 指定了一个特定值,则只删除该发布及其关联的快照代理作业。[ @ignore_distributor =] ignore_distributor
用于删除发布但不清除分发服务器上的任务。 ignore_distributor 的数据类型为 bit,默认值为 0。 重新安装分发服务器时也将使用此参数。[ @reserved=] reserved
供将来使用的保留参数。 reserved 的数据类型为 bit,默认值为 0。[ @ignore_merge_metadata= ] ignore_merge_metadata
仅限内部使用。
返回代码值
0(成功)或 1(失败)
注释
sp_dropmergepublication 用于合并复制。
sp_dropmergepublication 以递归方式删除与发布关联的所有项目,然后删除该发布。 如果发布包含一个或更多对它的订阅,则不能删除。 有关如何删除订阅的信息,请参阅 删除推送订阅 和 删除请求订阅。
执行 sp_dropmergepublication 将删除发布,不会删除发布数据库中的已发布对象,也不会删除订阅数据库中的相应对象。 必要时,使用 DROP <对象>手动删除这些对象。
示例
DECLARE @publication AS sysname
DECLARE @publicationDB AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @publicationDB = N'AdventureWorks'
-- Remove the merge publication.
USE [AdventureWorks]
EXEC sp_dropmergepublication @publication = @publication;
-- Remove replication objects from the database.
USE master
EXEC sp_replicationdboption
@dbname = @publicationDB,
@optname = N'merge publish',
@value = N'false'
GO
权限
只有 sysadmin 固定服务器角色成员或 db_owner 固定数据库角色成员才能执行 sp_dropmergepublication。
请参阅
参考
sp_addmergepublication (Transact-SQL)
sp_changemergepublication (Transact-SQL)
sp_helpmergepublication (Transact-SQL)