sp_dropmergesubscription (Transact-SQL)
Drops a subscription to a merge publication and its associated Merge Agent. This stored procedure is executed at the Publisher on the publication database.
Transact-SQL Syntax Conventions
Syntax
sp_dropmergesubscription [ [ @publication= ] 'publication' ]
[ , [ @subscriber= ] 'subscriber'
[ , [ @subscriber_db= ] 'subscriber_db' ]
[ , [ @subscription_type= ] 'subscription_type' ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] reserved ]
Arguments
- [ @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)
Remarks
sp_dropmergesubscription is used in merge replication.
Permissions
Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_dropmergesubscription.
Example
-- 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'AdventureWorksReplica';
USE [AdventureWorks]
EXEC sp_dropmergesubscription
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB;
GO
See Also
Reference
sp_addmergesubscription (Transact-SQL)
sp_changemergesubscription (Transact-SQL)
sp_helpmergesubscription (Transact-SQL)
Other Resources
How to: Delete a Push Subscription (Replication Transact-SQL Programming)
How to: Delete a Pull Subscription (Replication Transact-SQL Programming)