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
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_database is sysname, with a default of NULL.
- [ @subscription_type= ] 'subscription_type'
-
Is the type of subscription. subscription_type is 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.
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'AdventureWorksReplica';
USE [AdventureWorks]
EXEC sp_dropmergesubscription
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB;
GO
Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_dropmergesubscription.
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)
Help and Information
Getting SQL Server 2008 Assistance