sp_droppullsubscription(Transact-SQL)
구독자의 현재 데이터베이스에서 구독을 삭제합니다. 이 저장 프로시저는 끌어오기 구독 데이터베이스의 구독자에서 실행됩니다.
구문
sp_droppullsubscription [ @publisher= ] 'publisher'
, [ @publisher_db= ] 'publisher_db'
, [ @publication= ] 'publication'
[ , [ @reserved= ] reserved ]
인수
[ @publisher = ] 'publisher'
원격 서버 이름입니다. publisher는 sysname이며 기본값은 없습니다. all인 경우 모든 게시자에서 구독이 삭제됩니다.[ @publisher_db=] 'publisher_db'
게시자 데이터베이스의 이름입니다. publisher_db는 sysname이며 기본값은 없습니다. all은 모든 게시자 데이터베이스를 의미합니다.[ @publication = ] 'publication'
게시 이름입니다. publication은 sysname이며 기본값은 없습니다. all인 경우 모든 게시에 대한 구독이 삭제됩니다.[ @reserved=] reserved
정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
sp_droppullsubscription은 스냅숏 및 트랜잭션 복제에 사용됩니다.
sp_droppullsubscription은 MSreplication_subscriptions(Transact-SQL) 테이블에서 해당 행을 삭제하고 구독자에서 해당 배포자 에이전트를 삭제합니다. MSreplication_subscriptions(Transact-SQL)에 남아 있는 행이 없는 경우에는 테이블을 삭제합니다.
예
-- 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'AdventureWorks2008R2';
USE [AdventureWorks2008R2Replica]
EXEC sp_droppullsubscription
@publisher = @publisher,
@publisher_db = @publicationDB,
@publication = @publication;
GO
사용 권한
sysadmin 고정 서버 역할의 멤버 또는 끌어오기 구독을 만든 사용자만이 sp_droppullsubscription을 실행할 수 있습니다. db_owner 고정 데이터베이스 역할의 경우 끌어오기 구독을 만든 사용자가 이 역할에 속하는 경우에만 sp_droppullsubscription을 실행할 수 있습니다.