sp_droppublication (Transact-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 會遞迴卸除所有與發行集相關聯的發行項,然後再卸除發行集本身。如果發行集有一或多項訂閱,便不能移除它。如需有關如何移除訂閱的詳細資訊,請參閱<How to: Delete a Push Subscription (Replication Transact-SQL Programming)>和<How to: Delete a Pull Subscription (Replication Transact-SQL Programming)>。

執行 sp_droppublication 來卸除發行集,並不會從發行集資料庫中移除發行的物件,也不會從訂閱資料庫中移除對應的物件。必要的話,請利用 DROP <object> 來手動移除這些物件。

權限

只有系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_droppublication

範例

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

-- Remove a transactional publication.
USE [AdventureWorks]
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)

其他資源

How to: Delete a Publication (Replication Transact-SQL Programming)

說明及資訊

取得 SQL Server 2005 協助