다음을 통해 공유


sp_droppullsubscription(Transact-SQL)

구독자의 현재 데이터베이스에서 구독을 삭제합니다. 이 저장 프로시저는 끌어오기 구독 데이터베이스의 구독자에서 실행됩니다.

항목 링크 아이콘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_droppullsubscriptionMSreplication_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'AdventureWorks';

USE [AdventureWorksReplica]
EXEC sp_droppullsubscription 
  @publisher = @publisher, 
  @publisher_db = @publicationDB, 
  @publication = @publication;
GO

사용 권한

sysadmin 고정 서버 역할의 멤버 또는 끌어오기 구독을 만든 사용자만이 sp_droppullsubscription을 실행할 수 있습니다. db_owner 고정 데이터베이스 역할의 경우 끌어오기 구독을 만든 사용자가 이 역할에 속하는 경우에만 sp_droppullsubscription을 실행할 수 있습니다.