메모리 최적화 테이블 구독자에 복제

적용 대상:SQL ServerAzure SQL Managed Instance

피어 투 피어 트랜잭션 복제본(replica)tion을 제외한 스냅샷 및 트랜잭션 복제본(replica)tion 구독자 역할을 하는 테이블은 메모리 최적화 테이블로 구성할 수 있습니다. 다른 복제본(replica) 구성은 메모리 최적화 테이블과 호환되지 않습니다. 이 기능은 SQL Server 2016(13.x)부터 사용할 수 있습니다.

두 가지 구성이 필요합니다.

  • 메모리 최적화 테이블에 대한 복제본(replica)tion을 지원하도록 구독자 데이터베이스 구성

    sp_addsubscription(Transact-SQL) 또는 sp_changesubscription(Transact-SQL)를 사용하여 @memory_optimized 속성을 true로 설정합니다.

  • 메모리 최적화 테이블로의 복제를 지원하도록 아티클 구성

    @schema_option = 0x40000000000 sp_addarticle(Transact-SQL) 또는 sp_changearticle(Transact-SQL)를 사용하여 아티클에 대한 옵션을 설정합니다.

메모리 최적화 테이블을 구독자로 구성하려면

  1. 트랜잭션 게시를 만듭니다. 자세한 내용은 게시 만들기를 참조하세요.

  2. 게시에 아티클을 추가합니다. 자세한 내용은 아티클 정의를 참조 하세요.

    Transact-SQL 을 사용하여 구성하는 경우 sp_addarticle 저장 프로시저의 @schema_option 매개 변수를
    0x40000000000.

  3. 아티클 속성 창에서 메모리 최적화를 true설정합니다.

  4. 스냅샷 에이전트 작업을 시작하여 이 게시에 대한 초기 스냅샷 생성합니다. 자세한 내용은 초기 스냅샷 만들기 및 적용을 참조하세요.

  5. 이제 새 구독을 만듭니다. 새 구독 마법사에서 메모리 최적화 구독을 true설정합니다.

메모리 액세스에 최적화된 테이블이 이제 게시자로부터 업데이트 수신을 시작합니다.

기존 트랜잭션 복제본(replica) 구성

  1. Management Studio의 구독 속성으로 이동하여 메모리 최적화 구독을 true설정합니다. 구독을 다시 초기화할 때까지 변경 내용이 적용되지 않습니다.

    Transact-SQL을 사용하여 구성하는 경우 sp_addsubscription 저장 프로시저의 @memory_optimized 매개 변수를 true로 설정합니다.

  2. Management Studio에서 게시에 대한 아티클 속성으로 이동하여 메모리 최적화 사용 설정을 true로 설정합니다.

    Transact-SQL 을 사용하여 구성하는 경우 sp_addarticle 저장 프로시저의 @schema_option 매개 변수를
    0x40000000000.

  3. 메모리 최적화 테이블은 클러스터형 인덱스를 지원하지 않습니다. 클러스터형 인덱스를 대상에서 비클러스터형 인덱스로 변환하여 복제에서 해당 인덱스를 처리하도록 하려면 메모리 액세스에 최적화된 아티클에 대해 클러스터형 인덱스를 비클러스터형 인덱스로 변환 을 true로 설정합니다.

    Transact-SQL을 사용하여 구성하는 경우 sp_addarticle 저장 프로시저의 @schema_option 매개 변수를 0x0000080000000000 설정합니다.

  4. 스냅샷을 다시 생성합니다.

  5. 구독을 다시 초기화합니다.

설명 및 제한 사항

단방향 트랜잭션 복제만 지원됩니다. 피어 투 피어 트랜잭션 복제본(replica)tion은 지원되지 않습니다.

메모리 최적화 테이블을 게시할 수 없습니다.

배포자의 복제 테이블은 메모리 최적화 테이블로 구성할 수 없습니다.

병합 복제는 메모리 최적화 테이블을 포함할 수 없습니다.

구독자에서 트랜잭션 복제본(replica) 관련 테이블을 메모리 최적화 테이블로 구성할 수 있지만 구독자 테이블은 메모리 최적화 테이블의 요구 사항을 충족해야 합니다. 이렇게 하려면 다음과 같은 제한 사항이 필요합니다.

스키마 파일 수정

  • 메모리 최적화 테이블 옵션을 DURABILITY = SCHEMA_AND_DATA 사용하는 경우 테이블에 비클러스터형 기본 키 인덱스가 있어야 합니다.

  • ANSI_PADDING ON이어야 합니다.