sp_droppullsubscription(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
구독자의 현재 데이터베이스에서 구독을 삭제합니다. 이 저장 프로시저는 끌어오기 구독 데이터베이스의 구독자에서 실행됩니다.
구문
sp_droppullsubscription
[ @publisher = ] N'publisher'
[ , [ @publisher_db = ] N'publisher_db' ]
, [ @publication = ] N'publication'
[ , [ @reserved = ] reserved ]
[ , [ @from_backup = ] from_backup ]
[ ; ]
인수
[ @publisher = ] N'publisher'
원격 서버 이름입니다. @publisher 기본값이 없는 sysname입니다. 이 경우 all
구독이 모든 게시자에서 삭제됩니다.
[ @publisher_db = ] N'publisher_db'
게시자 데이터베이스의 이름입니다. @publisher_db sysname이며 기본값은 .입니다NULL
. all
는 모든 게시자 데이터베이스를 의미합니다.
[ @publication = ] N'publication'
게시 이름입니다. @publication 기본값이 없는 sysname입니다. 이 경우 all
구독이 모든 게시에 삭제됩니다.
[ @reserved = ] 예약됨
정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다.
[ @from_backup = ] from_backup
정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다.
반환 코드 값
0
(성공) 또는 1
(실패).
설명
sp_droppullsubscription
는 스냅샷 복제 및 트랜잭션 복제에 사용됩니다.
sp_droppullsubscription
는 MSreplication_subscriptions 테이블의 해당 행과 구독자의 해당 배포자 에이전트를 삭제합니다. MSreplication_subscriptions 행이 남아 있지 않으면 테이블이 삭제됩니다.
예제
-- 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 is the batch executed at the Subscriber to drop
-- a pull subscription to a transactional publication.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2022';
USE [AdventureWorks2022Replica]
EXEC sp_droppullsubscription
@publisher = @publisher,
@publisher_db = @publicationDB,
@publication = @publication;
GO
사용 권한
sysadmin 고정 서버 역할의 멤버 또는 끌어오기 구독을 만든 사용자만 실행할 sp_droppullsubscription
수 있습니다. db_owner 고정 데이터베이스 역할은 끌어오기 구독을 만든 사용자가 이 역할에 속한 경우에만 실행할 sp_droppullsubscription
수 있습니다.