메모리 액세스에 최적화된 테이블 구독자로 복제Replication to Memory-Optimized Table Subscribers

이 항목은 다음에 적용됩니다. 예SQL Server(2016부터 시작)아니요Azure SQL 데이터베이스아니요Azure SQL 데이터 웨어하우스아니요병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

피어 투 피어 트랜잭션 복제를 제외하고는 스냅숏 및 트랜잭션 복제 구독자 역할을 수행하는 테이블을 메모리 액세스에 최적화된 테이블로 구성할 수 있습니다.Tables acting as snapshot and transactional replication subscribers, excluding Peer-to-peer transactional replication, can be configured as memory-optimized tables. 다른 복제 구성은 메모리 액세스에 최적화된 테이블과 호환되지 않습니다.Other replication configurations are not compatible with memory-optimized tables. 이 기능은 SQL Server 2016SQL Server 2016부터 사용할 수 있습니다.This feature is available beginning with SQL Server 2016SQL Server 2016.

필요한 두 가지 구성Two configurations are required

메모리 액세스에 최적화된 테이블을 구독자로 구성하려면To configure a memory-optimized table as a subscriber

  1. 트랜잭션 게시를 만듭니다.Create a transactional publication. 자세한 내용은 Create a Publication를 참조하세요.For more information, see Create a Publication.

  2. 아티클을 게시에 추가합니다.Add articles to the publication. 자세한 내용은 Define an Article을 참조하세요.For more information, see Define an Article.

    Transact-SQLTransact-SQL을 사용하여 구성하는 경우 sp_addarticle 저장 프로시저의 @schema_option 매개 변수를If configuring by using Transact-SQLTransact-SQL set the @schema_option parameter of the sp_addarticle stored procedure to
    0x40000000000으로 설정합니다.0x40000000000.

  3. 아티클 속성 창에서 메모리 최적화 사용true로 설정합니다.In the article properties window set Enable Memory optimization to true.

  4. 스냅숏 에이전트 작업을 시작하여 이 게시에 대한 초기 스냅숏을 생성합니다.Start the Snapshot Agent job to generate the initial snapshot for this publication. 자세한 내용은 Create and Apply the Initial Snapshot을 참조하세요.For more information, see Create and Apply the Initial Snapshot.

  5. 이제 새 구독을 만듭니다.Now create a new subscription. 새 구독 마법사 에서 메모리 액세스에 최적화된 구독true로 설정합니다.In the New Subscription Wizard set Memory Optimized Subscription to true.

    메모리 액세스에 최적화된 테이블이 이제 게시자로부터 업데이트 수신을 시작합니다.Memory-optimized tables should now start receiving updates from the publisher.

기존 트랜잭션 복제 다시 구성Reconfigure an existing transaction replication

  1. Management StudioManagement Studio 에서 구독 속성으로 이동한 다음 메모리 액세스에 최적화된 구독true로 설정합니다.Go to subscription properties in Management StudioManagement Studio and set Memory Optimized Subscription to true. 구독을 다시 초기화해야 변경 내용이 적용됩니다.The changes are not applied until the subscription is reinitialized.

    Transact-SQLTransact-SQL을 사용하여 구성하는 경우 sp_addsubscription 저장 프로시저의 @memory_optimized 매개 변수를 true로 설정합니다.If configuring by using Transact-SQLTransact-SQL set the new @memory_optimized parameter of the sp_addsubscription stored procedure to true.

  2. Management StudioManagement Studio 에서 아티클 속성으로 이동한 다음 메모리 최적화 사용 을 true로 설정합니다.Go to the article properties for a publication in Management StudioManagement Studio and set Enable Memory optimization to true.

    Transact-SQLTransact-SQL을 사용하여 구성하는 경우 sp_addarticle 저장 프로시저의 @schema_option 매개 변수를If configuring by using Transact-SQLTransact-SQL set the @schema_option parameter of the sp_addarticle stored procedure to
    0x40000000000으로 설정합니다.0x40000000000.

  3. 메모리 액세스에 최적화된 테이블은 클러스터형 인덱스를 지원하지 않습니다.Memory optimized tables do not support clustered indexes. 클러스터형 인덱스를 대상에서 비클러스터형 인덱스로 변환하여 복제에서 해당 인덱스를 처리하도록 하려면 메모리 액세스에 최적화된 아티클에 대해 클러스터형 인덱스를 비클러스터형 인덱스로 변환 을 true로 설정합니다.To have replication handle this by converting it to nonclustered index on the destination, set Convert clustered index to nonclustered for memory optimized article to true.

    Transact-SQLTransact-SQL을 사용하여 구성하는 경우 sp_addarticle 저장 프로시저의 @schema_option 매개 변수를 0x0000080000000000으로 설정합니다.If configuring by using Transact-SQLTransact-SQL set the @schema_option parameter of the sp_addarticle stored procedure to 0x0000080000000000.

  4. 스냅숏을 다시 생성합니다.Regenerate the snapshot.

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

주의 및 제한 사항Remarks and Restrictions

단방향 트랜잭션 복제만 지원됩니다.Only one-way transactional replication is supported. 피어 투 피어 트랜잭션 복제는 지원되지 않습니다.Peer-to-peer transactional replication is not supported.

메모리 액세스에 최적화된 테이블은 게시할 수 없습니다.Memory-optimized tables cannot be published.

배포자의 복제 테이블은 메모리 액세스에 최적화된 테이블로 구성할 수 없습니다.Replication tables on the distributor cannot be configured as memory-optimized tables.

병합 복제는 메모리 액세스에 최적화된 테이블을 포함할 수 없습니다.Merge replication cannot include memory-optimized tables.

구독자에서 트랜잭션 복제와 관련된 테이블은 메모리 액세스에 최적화된 테이블로 구성할 수 있지만 구독자 테이블은 메모리 액세스에 최적화된 테이블의 요구 사항을 충족해야 합니다.At the subscriber, tables involved in transactional replication can be configured as memory optimized tables, but the subscriber tables must meet the requirements of memory-optimized tables. 여기에는 다음과 같은 제한 사항이 필요합니다.This requires the following restrictions.

스키마 파일 수정 Modifying a schema file

  • 메모리 액세스에 최적화된 테이블 옵션 DURABILITY = SCHEMA_AND_DATA 를 사용할 경우 테이블은 비클러스터형 기본 키 인덱스를 포함해야 합니다.If using the memory-optimized table option DURABILITY = SCHEMA_AND_DATA the table must have a nonclustered primary key index.

  • ANSI_PADDING은 ON이어야 합니다.ANSI_PADDING must be ON.

관련 항목:See Also

복제 기능 및 태스크Replication Features and Tasks