스냅숏 없이 병합 구독 초기화
[!참고]
Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오.
기본적으로 병합 게시에 대한 구독은 스냅숏 에이전트에 의해 생성되고 병합 에이전트에 의해 적용되는 스냅숏으로 초기화됩니다. 일부 시나리오에서는 백업 등의 다른 방법으로 구독을 초기화할 수 있습니다. 병합 복제에서는 필터링된 게시 및 필터링되지 않은 게시 모두에 대해 스냅숏 없이 구독을 초기화할 수 있습니다. 이러한 옵션은 필터링되지 않은 게시 및 정적 필터를 사용하는 게시에 보다 많이 사용됩니다. 일반적으로 매개 변수가 있는 필터를 사용하는 게시는 구독자의 파티션에 대한 스냅숏으로 초기화됩니다. 자세한 내용은 매개 변수가 있는 필터를 사용하는 병합 게시의 스냅숏를 참조하십시오.
가능한 경우 스냅숏을 사용하여 구독을 초기화하십시오. 특히 다음과 같은 경우에는 스냅숏 없이 구독을 초기화하지 않는 것이 좋습니다.
열 수준 추적 및 열 필터링을 사용하거나 게시자에서 스키마를 변경하는 경우. 이 경우 스냅숏 없이 구독을 초기화하면 불일치가 발생할 수 있습니다.
웹 동기화를 사용할 때 스냅숏 파일은 구독자로 복제되지만 사용되지는 않습니다.
구독을 다시 초기화해야 하는 경우
사전 계산 파티션을 사용하여 성능상의 이점을 얻어야 하는 경우
백업 또는 다른 방법을 사용하여 병합 구독을 초기화하려면 다음 단계를 따르십시오.
병합 복제에 사용할 테이블에 rowguid 및 Null이 아닌 열 특성을 가진 uniqueidentifier 열을 추가합니다.
구독자를 초기화하는 데 사용할 데이터베이스의 백업을 수행합니다.
게시를 만들고 게시에 대한 스냅숏을 생성합니다. 스냅숏에 있는 게시된 테이블의 스키마 및 데이터가 사용되지 않더라도 스냅숏은 복제에 필요한 시스템 개체 및 메타데이터를 포함하므로 여전히 필요합니다. 이러한 개체 및 메타데이터는 초기 동기화 중 구독자에 복사됩니다.
구독자에서 백업을 복원하거나 다른 방법을 사용하여 데이터를 복사합니다. 백업을 복원할 경우 KEEP_REPLICATION 옵션을 지정하지 마십시오. 이 옵션은 복원 중 복제 설정을 유지 관리하기 위해 설계된 것이며 백업은 게시자에서 제공되었으므로 데이터베이스에서 게시자 설정을 제거해야 합니다. 복원된 데이터베이스에는 초기 동기화 후 필수 구독자 설정이 지정됩니다.
구독을 만든 다음 구독이 수동으로 초기화되도록 지정합니다.
[!참고]
예를 들어 스냅숏을 사용하지 않고 구독을 초기화할 경우 게시자에서 SQL Server 서비스를 실행하는 계정에는 배포자의 스냅숏 폴더에 대한 쓰기 권한이 있어야 합니다. 사용 권한에 대한 자세한 내용은 복제 에이전트 보안 모델을 참조하십시오.
자세한 내용은 다음을 참조하십시오.
SQL Server Management Studio: 방법: 수동으로 구독 초기화(SQL Server Management Studio)
Transact-SQL: 방법: 수동으로 구독 초기화(복제 Transact-SQL 프로그래밍)
병합 에이전트로 초기 동기화를 수행하여 복제에 필요한 개체와 메타데이터를 복사합니다. 이제 구독자가 동기화되고 게시자에서 증분 변경을 받아들일 준비가 되었습니다.