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 では、パブリケーションに関連付けられたすべてのアーティクルが反復的に削除された後、パブリケーションそのものが削除されます。 1 つでもサブスクリプションがあると、パブリケーションを削除することはできません。 サブスクリプションを削除する方法については、「プッシュ サブスクリプションの削除」および「プル サブスクリプションの削除」を参照してください。
sp_droppublication を実行してパブリケーションを削除しても、パブリッシュされたオブジェクトはパブリケーション データベースから削除されず、対応するオブジェクトはサブスクリプション データベースから削除されません。 必要に応じて DROP <object> を使用し、これらのオブジェクトを手動で削除してください。
権限
sp_droppublication を実行できるのは、sysadmin 固定サーバー ロールのメンバーだけです。
使用例
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)