sp_droppublication (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

删除发布及其关联的快照代理。 删除发布之前必须删除全部的订阅。 发布中的项目将自动删除。 此存储过程在发布服务器上对发布数据库执行。

Transact-SQL 语法约定

语法

  
sp_droppublication [ @publication= ] 'publication'   
    [ , [ @ignore_distributor = ] ignore_distributor ]  

参数

[ @publication = ] 'publication' 要删除的发布的名称。 publicationsysname,没有默认值。 如果指定 了 all ,则会从发布数据库中删除所有发布,但具有订阅的发布除外。

[ @ignore_distributor = ] ignore_distributor

标识为仅供参考。 不支持。 不保证以后的兼容性。

返回代码值

0 (成功) 或 1 (失败)

备注

sp_droppublication 用于快照复制和事务复制。

sp_droppublication 递归删除与发布关联的所有项目,然后删除发布本身。 如果发布包含一个或更多对它的订阅,则不能删除。 有关如何删除订阅的信息,请参阅 删除推送订阅删除请求订阅

执行 sp_droppublication 删除发布不会从发布数据库中删除已发布的对象或订阅数据库中的相应对象。 如有必要,请使用 DROP <对象> 手动删除这些对象。

权限

只有 sysadmin 固定服务器角色的成员才能执行 sp_droppublication

示例

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 

-- Remove a transactional publication.
USE [AdventureWorks2012]
EXEC sp_droppublication @publication = @publication;

-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'publish', 
  @value = N'false';
GO

另请参阅

删除发布
sp_addpublication (Transact-SQL)
sp_changepublication (Transact-SQL)
sp_helppublication (Transact-SQL)
复制存储过程 (Transact-SQL)