sp_droppublication (Transact-SQL)
卸除發行集及其相關快照集代理程式。 在卸除發行集之前,必須先卸除所有訂閱。 發行集中的發行項會自動卸除。 這個預存程序執行於發行集資料庫的發行者端。
語法
sp_droppublication [ @publication= ] 'publication'
[ , [ @ignore_distributor = ] ignore_distributor ]
引數
[ @publication= ] 'publication'
這是要卸除的發行集名稱。 publication 是 sysname,沒有預設值。 如果指定 all,除了含有訂閱的發行集,會從發行集資料庫中卸除所有發行集。[ @ignore_distributor = ] ignore_distributor
僅供參考之用。不支援。我們無法保證未來的相容性。
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_droppublication 用於快照式複寫和異動複寫中。
sp_droppublication 會遞迴卸除所有與發行集相關聯的發行項,然後再卸除發行集本身。 如果發行集有一或多項訂閱,便不能移除它。 如需有關如何移除訂閱的詳細資訊,請參閱<刪除發送訂閱>和<刪除提取訂閱>。
執行 sp_droppublication 來卸除發行集,並不會從發行集資料庫中移除發行的物件,也不會從訂閱資料庫中移除對應的物件。 必要時,請使用 DROP <object> 來手動移除這些物件。
權限
只有系統管理員 (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)