sp_dropsubscription(Transact-SQL)

적용 대상:SQL ServerAzure SQL Managed Instance

게시자의 특정 아티클, 게시 또는 구독 집합에 대한 구독을 삭제합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.

Transact-SQL 구문 표기 규칙

구문

sp_dropsubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    , [ @subscriber = ] N'subscriber'
    [ , [ @destination_db = ] N'destination_db' ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] N'reserved' ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

인수

[ @publication = ] N'publication'

연결된 게시의 이름입니다. @publication sysname이며 기본값은 .입니다NULL. 이 경우 all지정된 구독자에 대한 모든 게시에 대한 모든 구독이 취소됩니다. 게시 는 필수 매개 변수입니다.

[ @article = ] N'article'

아티클의 이름입니다. @article sysname이며 기본값은 .입니다NULL. 이 경우 all지정된 각 게시 및 구독자에 대한 모든 아티클에 대한 구독이 삭제됩니다. 즉시 업데이트를 허용하는 게시에 사용합니다 all .

[ @subscriber = ] N'subscriber'

구독을 삭제할 구독자의 이름입니다. @subscriber 기본값이 없는 sysname입니다. 이 경우 all모든 구독자에 대한 모든 구독이 삭제됩니다.

[ @destination_db = ] N'destination_db'

대상 데이터베이스의 이름입니다. @destination_db sysname이며 기본값은 .입니다NULL. 이 경우 NULL해당 구독자의 모든 구독이 삭제됩니다.

[ @ignore_distributor = ] ignore_distributor

정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다.

[ @reserved = ] N'reserved'

정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다.

[ @publisher = ] N'publisher'

정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다.

반환 코드 값

0 (성공) 또는 1 (실패).

설명

sp_dropsubscription는 스냅샷 및 트랜잭션 복제본(replica)에 사용됩니다.

즉시 동기화 게시의 아티클에서 구독을 삭제하는 경우 게시의 모든 아티클에서 구독을 삭제하고 한 번에 모두 다시 추가하지 않으면 구독을 다시 추가할 수 없습니다.

예제

-- 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 Publisher to remove 
-- a pull or push subscription to a transactional publication.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriber = $(SubServer);

USE [AdventureWorks2022]
EXEC sp_dropsubscription 
  @publication = @publication, 
  @article = N'all',
  @subscriber = @subscriber;
GO

사용 권한

sysadmin 고정 서버 역할의 멤버, db_owner 고정 데이터베이스 역할 또는 구독을 만든 사용자만 실행할 sp_dropsubscription수 있습니다.