방법: 스키마 옵션 지정(복제 Transact-SQL 프로그래밍)

테이블 또는 뷰를 게시하는 경우 복제를 사용하면 게시된 개체에 대해 복제되는 개체 작성 옵션을 제어할 수 있습니다. 복제 저장 프로시저를 사용하여 아티클이 작성될 때 프로그래밍 방식으로 스키마 옵션을 설정할 수 있습니다. 또한 이러한 옵션은 나중에 변경할 수 있습니다. 아티클에 대해 이 옵션을 명시적으로 지정하지 않으면 기본 옵션 집합이 정의됩니다.

[!참고]

복제 저장 프로시저를 사용할 때의 기본 스키마 옵션은 Microsoft SQL Server Management Studio를 사용하여 아티클을 추가할 때의 기본 옵션과 다를 수 있습니다.

스키마 옵션은 하나 이상의 옵션에 대한 |(비트 OR) 결과인 16진수 값으로 지정됩니다. 자세한 내용은 sp_addarticlesp_addmergearticle을 참조하십시오.

[!참고]

비트 연산을 수행하기 전에 스키마 옵션 값을 binary에서 int로 변환해야 합니다. 자세한 내용은 Article Options for Transactional Replication을 참조하십시오.

스냅숏 또는 트랜잭션 게시에 대한 아티클을 정의할 때 스키마 옵션을 지정하려면

  • 게시 데이터베이스의 게시자에서 sp_addarticle을 실행합니다. @publication에 아티클이 속한 게시의 이름, @article에 아티클의 이름, @source_object에 게시되는 데이터베이스 개체, @type에 데이터베이스 개체의 유형, @schema_option에 하나 이상의 스키마 옵션에 대한 |(비트 OR) 결과를 지정합니다. 자세한 내용은 방법: 아티클 정의(복제 Transact-SQL 프로그래밍)를 참조하십시오.

병합 게시에 대한 아티클을 정의할 때 스키마 옵션을 지정하려면

스냅숏 또는 트랜잭션 게시의 기존 아티클에 대한 스키마 옵션을 변경하려면

  1. 게시 데이터베이스의 게시자에서 sp_helparticle을 실행합니다. @publication에 아티클이 속한 게시의 이름을 지정하고 @article에 아티클의 이름을 지정합니다. 결과 집합에서 schema_option 열의 값을 확인합니다.

  2. 옵션이 설정되었는지 확인하려면 1단계의 값과 원하는 스키마 옵션 값을 사용하여 &(비트 AND) 연산을 실행합니다.

    • 결과가 0이면 옵션이 설정되지 않은 것입니다.

    • 결과가 옵션 값이면 옵션이 이미 설정된 것입니다.

  3. 옵션이 설정되지 않은 경우 1단계의 값과 원하는 스키마 옵션 값을 사용하여 |(비트 OR) 연산을 실행합니다.

  4. 게시 데이터베이스의 게시자에서 sp_changearticle을 실행합니다. @publication에 아티클이 속한 게시의 이름, @article에 아티클의 이름, @propertyschema_option 값, @value에 3단계의 16진수 결과를 지정합니다.

  5. 스냅숏 에이전트를 실행하여 새 스냅숏을 생성합니다. 자세한 내용은 방법: 초기 스냅숏 만들기(복제 Transact-SQL 프로그래밍)를 참조하십시오.

병합 게시의 기존 아티클에 대한 스키마 옵션을 변경하려면

  1. 게시 데이터베이스의 게시자에서 sp_helpmergearticle을 실행합니다. @publication에 아티클이 속한 게시의 이름을 지정하고 @article에 아티클의 이름을 지정합니다. 결과 집합에서 schema_option 열의 값을 확인합니다.

  2. 옵션이 설정되었는지 확인하려면 1단계의 값과 원하는 스키마 옵션 값을 사용하여 &(비트 AND) 연산을 실행합니다.

    • 결과가 0이면 옵션이 설정되지 않은 것입니다.

    • 결과가 옵션 값이면 옵션이 이미 설정된 것입니다.

  3. 옵션이 설정되지 않은 경우 1단계의 값과 원하는 스키마 옵션 값을 사용하여 |(비트 OR) 연산을 실행합니다.

  4. 게시 데이터베이스의 게시자에서 sp_changemergearticle을 실행합니다. @publication에 아티클이 속한 게시의 이름, @article에 아티클의 이름, @propertyschema_option 값, @value에 3단계의 16진수 결과를 지정합니다.

  5. 스냅숏 에이전트를 실행하여 새 스냅숏을 생성합니다. 자세한 내용은 방법: 초기 스냅숏 만들기(복제 Transact-SQL 프로그래밍)를 참조하십시오.