방법: 아티클 속성 확인 및 수정(복제 Transact-SQL 프로그래밍)

아티클은 수정할 수 있으며 복제 저장 프로시저를 사용하여 프로그래밍 방식으로 해당 속성을 반환할 수 있습니다. 사용되는 저장 프로시저는 아티클이 속한 게시 유형에 따라 달라집니다.

스냅숏 또는 트랜잭션 게시에 속한 아티클의 속성을 보려면

  1. sp_helparticle을 실행하고 @publication 매개 변수에 게시의 이름을, @article 매개 변수에 아티클의 이름을 지정합니다. @article을 지정하지 않으면 게시의 모든 아티클에 대한 정보가 반환됩니다.

  2. 테이블 아티클에 대해 sp_helparticlecolumns를 실행하여 기본 테이블에서 사용할 수 있는 모든 열을 나열합니다.

스냅숏 또는 트랜잭션 게시에 속한 아티클의 속성을 수정하려면

  • sp_changearticle을 실행하고 @property 매개 변수에 변경되는 아티클 속성을, @value 매개 변수에 이 속성의 새 값을 지정합니다.

    [!참고]

    변경으로 인해 새 스냅숏을 생성해야 하는 경우 @force_invalidate_snapshot1 값을 지정해야 하며, 변경으로 인해 구독자를 다시 초기화해야 하는 경우 @force_reinit_subscription1 값을 지정해야 합니다. 변경 시 새 스냅숏 또는 다시 초기화가 필요한 속성에 대해서는 게시 및 아티클 속성 변경을 참조하십시오.

병합 게시에 속한 아티클의 속성을 보려면

  1. sp_helpmergearticle을 실행하고 @publication 매개 변수에 게시의 이름을, @article 매개 변수에 아티클의 이름을 지정합니다. 이러한 매개 변수를 지정하지 않으면 게시 또는 게시자에 있는 모든 아티클에 대한 정보가 반환됩니다.

  2. 테이블 아티클에 대해 sp_helpmergearticlecolumn을 실행하여 기본 테이블에서 사용할 수 있는 모든 열을 나열합니다.

병합 게시에 속한 아티클의 속성을 수정하려면

  • sp_changemergearticle을 실행하고 @property 매개 변수에 변경되는 아티클 속성을, @value 매개 변수에 이 속성의 새 값을 지정합니다.

    [!참고]

    변경으로 인해 새 스냅숏을 생성해야 하는 경우 @force_invalidate_snapshot1 값을 지정해야 하며, 변경으로 인해 구독자를 다시 초기화해야 하는 경우 @force_reinit_subscription1 값을 지정해야 합니다. 변경 시 새 스냅숏 또는 다시 초기화가 필요한 속성에 대해서는 게시 및 아티클 속성 변경을 참조하십시오.

이 트랜잭션 복제 예에서는 게시된 아티클의 속성을 반환합니다.

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

USE [AdventureWorks2008R2]
EXEC sp_helparticle
  @publication = @publication;
GO

이 트랜잭션 복제 예에서는 게시된 아티클에 대한 스키마 옵션을 변경합니다.

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @option AS int;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
SET @option = (SELECT CAST(0x0000000002030073 AS int));

-- Change the schema options to replicate schema with XML.
USE [AdventureWorks2008R2]
EXEC sp_changearticle 
  @publication = @publication,
  @article = @article, 
  @property = N'schema_option', 
  @value = @option,
  @force_invalidate_snapshot = 1;
GO

이 병합 복제 예에서는 게시된 아티클의 속성을 반환합니다.

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2008R2]
EXEC sp_helpmergearticle
  @publication = @publication;
GO

이 병합 복제 예에서는 게시된 아티클에 대한 충돌 검색 설정을 변경합니다.

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article = N'SalesOrderHeader';

-- Enable column-level conflict tracking.
-- Changing this property requires that existing subscriptions
-- be reinitialized and that a new snapshot be generated.
USE [AdventureWorks2008R2]
EXEC sp_changemergearticle 
  @publication = @publication,
  @article = @article, 
  @property = N'column_tracking', 
  @value = N'true',
  @force_invalidate_snapshot = 1,
  @force_reinit_subscription = 1;
GO