sp_dropmergepublication (Transact-SQL)
適用対象: SQL サーバー
マージ パブリケーションとそれに関連付けられているスナップショット エージェントを削除します。 マージ パブリケーションを削除する前に、すべてのサブスクリプションを削除しておく必要があります。 パブリケーション内のアーティクルは自動的に削除されます。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
構文
sp_dropmergepublication
[ @publication = ] N'publication'
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] reserved ]
[ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
[ ; ]
引数
[ @publication = ] N'publication'
削除するパブリケーションの名前。 @publication は sysname で、既定値はありません。 all
場合、既存のすべてのマージ パブリケーションと、それらに関連付けられているスナップショット エージェント ジョブが削除されます。 @publicationに特定の値を指定すると、そのパブリケーションとそれに関連付けられているスナップショット エージェント ジョブのみが削除されます。
[ @ignore_distributor = ] ignore_distributor
ディストリビューターでクリーンアップ タスクを実行せずにパブリケーションを削除するために使用されます。 @ignore_distributor は bit で、既定値は 0
です。 このパラメーターは、ディストリビューターを再インストールするときにも使用されます。
[ @reserved = ] 予約済み
将来の使用のために予約済み。 @reserved は ビットで、既定値は 0
です。
[ @ignore_merge_metadata = ] ignore_merge_metadata
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_dropmergepublication
はマージ レプリケーションで使用されます。
sp_dropmergepublication
は、パブリケーションに関連付けられているすべてのアーティクルを再帰的に削除してから、パブリケーション自体を削除します。 パブリケーションが 1 つ以上のサブスクリプションである場合、パブリケーションを削除することはできません。 サブスクリプションを削除する方法の詳細については、「プッシュ サブスクリプションの削除とプル サブスクリプションの削除を参照してください。
パブリケーションを削除する sp_dropmergepublication
を実行しても、パブリケーション データベースからパブリッシュされたオブジェクトや、対応するオブジェクトがサブスクリプション データベースから削除されることはありません。 必要であれば DROP <object>
を使用して、手動でこれらのオブジェクトを削除します。
例
DECLARE @publication AS sysname
DECLARE @publicationDB AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @publicationDB = N'AdventureWorks'
-- Remove the merge publication.
USE [AdventureWorks]
EXEC sp_dropmergepublication @publication = @publication;
-- Remove replication objects from the database.
USE master
EXEC sp_replicationdboption
@dbname = @publicationDB,
@optname = N'merge publish',
@value = N'false'
GO
アクセス許可
sysadmin固定サーバー ロールまたはdb_owner固定データベース ロールのメンバーのみが、sp_dropmergepublication
を実行できます。