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


sp_dropmergepullsubscription (Transact-SQL)

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

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

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

Синтаксис

sp_dropmergepullsubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    [ , [ @reserved = ] reserved ]
[ ; ]

Аргументы

[ @publication = ] N'publication'

Имя публикации. @publication — sysname с значением по умолчаниюNULL. Этот параметр является обязательным. Укажите значение all для удаления подписок на все публикации.

[ @publisher = ] N'publisher'

Имя издателя. @publisher — sysname с значением по умолчаниюNULL. Этот параметр является обязательным.

[ @publisher_db = ] N'publisher_db'

Имя базы данных издателя. @publisher_db имеет имя sysname с значением по умолчаниюNULL. Этот параметр является обязательным.

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

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

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

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

Замечания

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

sp_dropmergepullsubscriptionудаляет агент слияния для этой подписки на вытягивание слиянием, хотя агент слияния не создаетсяsp_addmergepullsubscription.

Примеры

-- 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 Subscriber to remove 
-- a merge pull subscription.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publication_db AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @publisher = $(PubServer);
SET @publication_db = N'AdventureWorks2022';

USE [AdventureWorks2022Replica]
EXEC sp_dropmergepullsubscription 
  @publisher = @publisher, 
  @publisher_db = @publication_db, 
  @publication = @publication;
GO

Разрешения

Могут выполняться sp_dropmergepullsubscriptionтолько члены предопределенных ролей сервера sysadmin или пользователя, создавшего подписку на слияние. Роль фиксированной базы данных db_owner может выполняться sp_dropmergepullsubscription только в том случае, если пользователь, создавший подписку на вытягивание слиянием, принадлежит этой роли.