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


sp_dropmergesubscription (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

  • [ @publication= ] 'publication'
    Имя публикации. Аргумент publication имеет тип sysname и значение по умолчанию NULL. Публикация уже должна существовать и соответствовать правилам идентификаторов.

  • [ @subscriber=] 'subscriber'
    Имя подписчика. Аргумент subscriber имеет тип sysname и значение по умолчанию NULL.

  • [ @subscriber_db = ] 'subscriber_db'
    Имя базы данных подписки. Аргумент subscription_database имеет тип sysname и значение по умолчанию NULL.

  • [ @subscription_type= ] 'subscription_type'
    Тип подписки. Аргумент subscription_type имеет тип nvarchar(15) и может принимать одно из следующих значений.

    Значение

    Описание

    all

    Принудительные подписки, подписки по запросу и анонимные подписки.

    anonymous

    Анонимная подписка.

    push

    Принудительная подписка.

    pull

    Подписка по запросу.

    both (по умолчанию)

    Как принудительная подписка, так и подписка по запросу.

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

  • [ @reserved= ] reserved
    Зарезервировано для использования в будущем. Аргумент reserved имеет тип bit и значение по умолчанию 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'AdventureWorksReplica';

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

Разрешения

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