sp_droppublication(Transact-SQL)
게시 및 이와 연결된 스냅숏 에이전트를 삭제합니다. 게시를 삭제하기 전에 반드시 모든 구독을 삭제해야 합니다. 게시에 있는 아티클은 자동으로 삭제됩니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.
구문
sp_droppublication [ @publication= ] 'publication'
[ , [ @ignore_distributor = ] ignore_distributor ]
인수
[ @publication = ] 'publication'
삭제할 게시의 이름입니다. publication은 sysname이며 기본값은 없습니다. all을 지정하면 구독이 있는 경우를 제외하고 게시 데이터베이스에서 모든 게시가 삭제됩니다.[ @ignore_distributor =] ignore_distributor
정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
sp_droppublication은 스냅숏 복제와 트랜잭션 복제에 사용합니다.
sp_droppublication은 게시에 연결된 모든 아티클을 재귀적으로 삭제한 다음 게시 자체를 삭제합니다. 게시에 구독이 한 개 이상 있는 경우에는 게시를 제거할 수 없습니다. 구독을 제거하는 방법에 대한 자세한 내용은 방법: 밀어넣기 구독 삭제(복제 Transact-SQL 프로그래밍) 및 방법: 끌어오기 구독 삭제(복제 Transact-SQL 프로그래밍)를 참조하십시오.
sp_droppublication을 실행하여 게시를 삭제해도 게시 데이터베이스에서 게시된 개체가 제거되거나 구독 데이터베이스에서 해당 개체가 제거되지는 않습니다. 필요한 경우 DROP <object>를 사용하여 이러한 개체를 제거합니다.
예
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks';
SET @publication = N'AdvWorksProductTran';
-- Remove a transactional publication.
USE [AdventureWorks]
EXEC sp_droppublication @publication = @publication;
-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption
@dbname = @publicationDB,
@optname = N'publish',
@value = N'false';
GO
사용 권한
sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버만이 sp_droppublication을 실행할 수 있습니다.