sp_dropmergepullsubscription (Transact-SQL)
适用范围:SQL Server
删除合并请求订阅。 此存储过程在订阅服务器的订阅数据库中执行。
语法
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
保留供将来使用。 @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
权限
只有 sysadmin 固定服务器角色的成员或创建合并请求订阅的用户才能执行sp_dropmergepullsubscription
。 仅当创建合并请求订阅的用户属于此角色时,才能执行sp_dropmergepullsubscription
db_owner固定数据库角色。