아티클 삭제Delete an Article

이 항목에서는 SQL Server 2017SQL Server 2017 또는 RMO(복제 관리 개체)를 사용하여 Transact-SQLTransact-SQL 에서 아티클을 삭제하는 방법에 대해 설명합니다.This topic describes how to delete an article in SQL Server 2017SQL Server 2017 by using Transact-SQLTransact-SQL or Replication Management Objects (RMO). 아티클을 삭제할 수 있는 조건 및 아티클 삭제로 인해 새 스냅숏 또는 구독 다시 초기화가 필요한지 여부에 대한 자세한 내용은 기존 게시에 대한 아티클 추가 및 삭제를 참조하세요.For information about the conditions under which articles can be dropped and whether dropping an article requires a new snapshot or the reinitialization of subscriptions, see Add Articles to and Drop Articles from Existing Publications.

항목 내용In This Topic

Transact-SQL 사용 Using Transact-SQL

아티클은 복제 저장 프로시저를 사용하여 프로그래밍 방식으로 삭제할 수 있습니다.Articles can be deleted programmatically using replication stored procedures. 사용되는 저장 프로시저는 아티클이 속한 게시 유형에 따라 달라집니다.The stored procedures that you use depend on the type of publication to which the article belongs.

스냅숏 또는 트랜잭션 게시에서 아티클을 삭제하려면To delete an article from a snapshot or transactional publication

  1. sp_droparticle(Transact-SQL)을 실행하여 @article로 지정된 아티클을 @publication으로 지정된 게시에서 삭제합니다.Execute sp_droparticle (Transact-SQL) to delete an article, specified by @article, from a publication, specified by @publication. @force_invalidate_snapshot에 값 1을 지정합니다.Specify a value of 1 for @force_invalidate_snapshot.

  2. (옵션) 게시된 개체를 데이터베이스에서 완전히 제거하려면 게시 데이터베이스의 게시자에서 DROP <objectname> 명령을 실행합니다.(Optional) To remove the published object from the database entirely, execute the DROP <objectname> command at the Publisher on the publication database.

병합 게시에서 아티클을 삭제하려면To delete an article from a merge publication

  1. sp_dropmergearticle(Transact-SQL)을 실행하여 @article로 지정된 아티클을 @publication으로 지정된 게시에서 삭제합니다.Execute sp_dropmergearticle (Transact-SQL) to delete an article, specified by @article, from a publication, specified by @publication. 필요한 경우 @force_invalidate_snapshot 값을 @force_invalidate_snapshot 을 지정하고 @force_invalidate_snapshot 값을 @force_reinit_subscription를 참조하세요.If necessary, specify a value of 1 for @force_invalidate_snapshot and a value of 1 for @force_reinit_subscription.

  2. (옵션) 게시된 개체를 데이터베이스에서 완전히 제거하려면 게시 데이터베이스의 게시자에서 DROP <objectname> 명령을 실행합니다.(Optional) To remove the published object from the database entirely, execute the DROP <objectname> command at the Publisher on the publication database.

예(Transact-SQL) Examples (Transact-SQL)

다음 예에서는 트랜잭션 게시에서 아티클을 삭제합니다.The following example deletes an article from a transactional publication. 이로 인해 기존 스냅숏이 무효화되므로 @force_invalidate_snapshot 매개 변수 값이 @force_invalidate_snapshot 로 지정됩니다.Because this change invalidates the existing snapshot, a value of 1 is specified for the @force_invalidate_snapshot parameter.

DECLARE @publication AS sysname;  
DECLARE @article AS sysname;  
SET @publication = N'AdvWorksProductTran';   
SET @article = N'Product';   

-- Drop the transactional article.  
USE [AdventureWorks]  
EXEC sp_droparticle   
  @publication = @publication,   
  @article = @article,  
  @force_invalidate_snapshot = 1;  
GO  

다음 예에서는 병합 게시에서 두 개의 아티클을 삭제합니다.The following example deletes two articles from a merge publication. 이로 인해 기존 스냅숏이 무효화되므로 @force_invalidate_snapshot 매개 변수 값이 @force_invalidate_snapshot 로 지정됩니다.Because these changes invalidate the existing snapshot, a value of 1 is specified for the @force_invalidate_snapshot parameter.

DECLARE @publication AS sysname;  
DECLARE @article1 AS sysname;  
DECLARE @article2 AS sysname;  
SET @publication = N'AdvWorksSalesOrdersMerge';  
SET @article1 = N'SalesOrderDetail';   
SET @article2 = N'SalesOrderHeader';   

-- Remove articles from a merge publication.  
USE [AdventureWorks]  
EXEC sp_dropmergearticle   
  @publication = @publication,   
  @article = @article1,  
  @force_invalidate_snapshot = 1;  
EXEC sp_dropmergearticle   
  @publication = @publication,   
  @article = @article2,  
  @force_invalidate_snapshot = 1;  
GO  

RMO(복제 관리 개체) 사용 Using Replication Management Objects (RMO)

RMO(복제 관리 개체)를 사용하여 프로그래밍 방식으로 아티클을 삭제할 수 있습니다.You can delete articles programmatically by using Replication Management Objects (RMO). 아티클을 삭제하는 데 사용하는 RMO 클래스는 아티클이 속한 게시 유형에 따라 달라집니다.The RMO classes you use to delete an article depend on the type of publication to which the article belongs.

스냅숏 또는 트랜잭션 게시에 속한 아티클을 삭제하려면To delete an article that belongs to a snapshot or transactional publication

  1. ServerConnection 클래스를 사용하여 게시자 연결을 만듭니다.Create a connection to the Publisher by using the ServerConnection class.

  2. TransArticle 클래스의 인스턴스를 만듭니다.Create an instance of the TransArticle class.

  3. Name, PublicationNameDatabaseName 속성을 설정합니다.Set the Name, PublicationName, and DatabaseName properties.

  4. ConnectionContext 속성에 대해 1단계에서 만든 연결을 설정합니다.Set the connection from step 1 for the ConnectionContext property.

  5. IsExistingObject 속성을 확인하여 아티클이 존재하는지 확인합니다.Check the IsExistingObject property to verify that the article exists. 이 속성의 값이 false이면 3단계에서 아티클 속성이 올바르게 정의되지 않았거나 아티클이 없는 것입니다.If the value of this property is false, either the article properties in step 3 were defined incorrectly or the article does not exist.

  6. Remove 메서드를 호출합니다.Call the Remove method.

  7. 모든 연결을 닫습니다.Close all connections.

병합 게시에 속한 아티클을 삭제하려면To delete an article that belongs to a merge publication

  1. ServerConnection 클래스를 사용하여 게시자 연결을 만듭니다.Create a connection to the Publisher by using the ServerConnection class.

  2. MergeArticle 클래스의 인스턴스를 만듭니다.Create an instance of the MergeArticle class.

  3. Name, PublicationNameDatabaseName 속성을 설정합니다.Set the Name, PublicationName, and DatabaseName properties.

  4. ConnectionContext 속성에 대해 1단계에서 만든 연결을 설정합니다.Set the connection from step 1 for the ConnectionContext property.

  5. IsExistingObject 속성을 확인하여 아티클이 존재하는지 확인합니다.Check the IsExistingObject property to verify that the article exists. 이 속성의 값이 false이면 3단계에서 아티클 속성이 올바르게 정의되지 않았거나 아티클이 없는 것입니다.If the value of this property is false, either the article properties in step 3 were defined incorrectly or the article does not exist.

  6. Remove 메서드를 호출합니다.Call the Remove method.

  7. 모든 연결을 닫습니다.Close all connections.

관련 항목:See Also

기존 게시에 대한 아티클 추가 및 삭제 Add Articles to and Drop Articles from Existing Publications
Replication System Stored Procedures Concepts Replication System Stored Procedures Concepts