Επεξεργασία

Κοινή χρήση μέσω


sp_dropmergepublication (Transact-SQL)

Applies to: SQL Server

Drops a merge publication and its associated Snapshot Agent. All subscriptions must be dropped before dropping a merge publication. The articles in the publication are dropped automatically. This stored procedure is executed at the Publisher on the publication database.

Transact-SQL syntax conventions

Syntax

sp_dropmergepublication
    [ @publication = ] N'publication'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] reserved ]
    [ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
[ ; ]

Arguments

[ @publication = ] N'publication'

The name of the publication to drop. @publication is sysname, with no default. If all, all existing merge publications are removed as well as the Snapshot Agent job associated with them. If you specify a particular value for @publication, only that publication and its associated Snapshot Agent job are dropped.

[ @ignore_distributor = ] ignore_distributor

Used to drop a publication without doing cleanup tasks at the Distributor. @ignore_distributor is bit, with a default of 0. This parameter is also used when reinstalling the Distributor.

[ @reserved = ] reserved

Reserved for future use. @reserved is bit, with a default of 0.

[ @ignore_merge_metadata = ] ignore_merge_metadata

Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

Return code values

0 (success) or 1 (failure).

Remarks

sp_dropmergepublication is used in merge replication.

sp_dropmergepublication recursively drops all articles that are associated with a publication and then drops the publication itself. A publication can't be removed if it's one or more subscriptions to it. For information about how to remove subscriptions, see Delete a Push Subscription and Delete a Pull Subscription.

Executing sp_dropmergepublication to drop a publication doesn't remove published objects from the publication database or the corresponding objects from the subscription database. Use DROP <object> to remove these objects manually if necessary.

Examples

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

Permissions

Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_dropmergepublication.