sp_dropmergepublication (Transact-SQL)
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= ] 'publication'
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] reserved ]
[ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
Arguments
- [ @publication=] 'publication'
Is 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
Is reserved for future use. reserved is bit, with a default of 0.
- [ @ignore_merge_metadata= ] ignore_merge_metadata
Internal use only.
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 cannot be removed if it has one or more subscriptions to it. For information about how to remove subscriptions, see How to: Delete a Push Subscription (Replication Transact-SQL Programming) and How to: Delete a Pull Subscription (Replication Transact-SQL Programming).
Executing sp_dropmergepublication to drop a publication does not 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.
Permissions
Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_dropmergepublication.
Example
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
See Also
Reference
sp_addmergepublication (Transact-SQL)
sp_changemergepublication (Transact-SQL)
sp_helpmergepublication (Transact-SQL)
Replication Stored Procedures (Transact-SQL)
Other Resources
How to: Delete a Publication (Replication Transact-SQL Programming)