sp_dropmergesubscription (Transact-SQL)

Applies to: SQL Server (all supported versions)

Drops a subscription to a merge publication and its associated Merge Agent. This stored procedure is executed at the Publisher on the publication database.

Topic link icon Transact-SQL Syntax Conventions


sp_dropmergesubscription [ [ @publication= ] 'publication' ]   
    [ , [ @subscriber= ] 'subscriber'    
    [ , [ @subscriber_db= ] 'subscriber_db' ]   
    [ , [ @subscription_type= ] 'subscription_type' ]   
    [ , [ @ignore_distributor = ] ignore_distributor ]   
    [ , [ @reserved = ] reserved ]  


[ @publication = ] 'publication' Is the publication name. publication is sysname, with a default of NULL. The publication must already exist and conform to the rules for identifiers.

[ @subscriber = ] 'subscriber' Is the name of the Subscriber. subscriber is sysname, with a default of NULL.

[ @subscriber_db = ] 'subscriber_db' Is the name of the subscription database. subscription_databaseis sysname, with a default of NULL.

[ @subscription_type = ] 'subscription_type' Is the type of subscription. subscription_typeis nvarchar(15), and can be one of these values.

Value Description
all Push, pull, and anonymous subscriptions
anonymous Anonymous subscription.
push Push subscription.
pull Pull subscription.
both (default) Both push and pull subscriptions.

[ @ignore_distributor = ] ignore_distributor Indicates whether this stored procedure is executed without connecting to the Distributor. ignore_distributor is bit, with a default of 0. This parameter can be used to drop a subscription without doing cleanup tasks at the Distributor. It is also useful if you had to reinstall the Distributor.

[ @reserved = ] reserved Is reserved for future use. reserved is bit, with a default of 0.

Return Code Values

0 (success) or 1 (failure)


sp_dropmergesubscription is used in merge replication.


-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

-- This batch is executed at the Publisher to remove 
-- a pull or push subscription to a merge publication.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorks2012Replica';

USE [AdventureWorks2012]
EXEC sp_dropmergesubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB;


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

See Also

Delete a Push Subscription
Delete a Pull Subscription
sp_addmergesubscription (Transact-SQL)
sp_changemergesubscription (Transact-SQL)
sp_helpmergesubscription (Transact-SQL)