sp_droppublication (Transact-SQL)

パブリケーションおよびこれと関連するスナップショット エージェントを削除します。パブリケーションを削除する前に、すべてのサブスクリプションを削除しておく必要があります。パブリケーション内のアーティクルは自動的に削除されます。このストアド プロシージャは、パブリッシャ側でパブリケーション データベースについて実行されます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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

引数

  • [ @publication= ] 'publication'
    削除するパブリケーションの名前を指定します。publication のデータ型は sysname で、既定値はありません。all を指定すると、サブスクリプションが存在するものを除き、パブリケーション データベースからすべてのパブリケーションが削除されます。
  • [ @ignore_distributor = ] ignore_distributor
    内部使用のみです。

解説

sp_droppublication は、スナップショット レプリケーションおよびトランザクション レプリケーションで使用します。

sp_droppublication では、パブリケーションに関連付けられたすべてのアーティクルが反復的に削除された後、パブリケーションそのものが削除されます。1 つでもサブスクリプションがあると、パブリケーションを削除することはできません。サブスクリプションを削除する方法については、「プッシュ サブスクリプションを削除する方法 (レプリケーション Transact-SQL プログラミング)」および「プル サブスクリプションを削除する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。

sp_droppublication を実行してパブリケーションを削除しても、パブリッシュされたオブジェクトはパブリケーション データベースから削除されず、対応するオブジェクトはサブスクリプション データベースから削除されません。必要に応じて DROP <object> を使用し、これらのオブジェクトを手動で削除してください。

権限

sp_droppublication を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバだけです。

戻り値

0 (成功) または 1 (失敗)

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)

その他の技術情報

パブリケーションを削除する方法 (レプリケーション Transact-SQL プログラミング)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手