Поделиться через


sp_dropmergesubscription (Transact-SQL)

Область применения: SQL Server

Удаляет подписку на публикацию слиянием и соответствующий агент слияния. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @publication = ] N'publication'

Название публикации. @publication — sysname с значением по умолчаниюNULL. Публикация уже должна существовать и соответствовать правилам идентификаторов.

[ @subscriber = ] N'подписчик'

Имя подписчика. @subscriber — sysname с значением по умолчаниюNULL.

[ @subscriber_db = ] N'subscriber_db'

Имя базы данных подписки. @subscriber_db — sysname с значением по умолчаниюNULL.

[ @subscription_type = ] N'subscription_type'

Тип подписки. @subscription_type — nvarchar(15) и может быть одним из этих значений.

значение Описание
all Принудительные подписки, подписки по запросу и анонимные подписки.
anonymous Анонимная подписка.
push Принудительная подписка.
pull Подписка по запросу.
both (по умолчанию) Как принудительная подписка, так и подписка по запросу.

[ @ignore_distributor = ] ignore_distributor

Указывает, исполняется ли данная хранимая процедура без подключения к распространителю. @ignore_distributor имеет значение по умолчанию0. Этот аргумент может использоваться для удаления подписки без выполнения задач очистки на распространителе. Это также полезно, если вам нужно переустановить распространитель.

[ @reserved = ] зарезервировано

Зарезервировано для последующего использования. @reserved бит с значением по умолчанию0.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

sp_dropmergesubscription используется в репликации слиянием.

Примеры

-- 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'AdventureWorks2022Replica';

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

Разрешения

Могут выполняться sp_dropmergesubscriptionтолько члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.