조건부 삭제 추적으로 병합 복제 성능 최적화
적용 대상: SQL Server
참고 항목
SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.
병합 복제를 사용하면 하나 이상의 아티클에 대한 삭제를 복제 트리거 및 시스템 테이블로 추적하지 않도록 지정할 수 있습니다. 아티클에 대해 이 옵션을 지정하면 게시자나 구독자에서 삭제가 추적되거나 복제되지 않습니다. 이 옵션은 여러 애플리케이션 시나리오를 지원하고 삭제 복제가 필요하거나 바람직하지 않은 경우에 대한 성능 최적화를 제공하는 데 사용할 수 있습니다. 성능은 세 가지 방법으로 향상됩니다. 삭제에 대한 메타데이터는 저장되지 않습니다. 삭제는 동기화 중에 열거되지 않습니다. 삭제는 구독자에 복제되고 적용되지 않습니다.
참고 항목
다운로드 전용 아티클을 사용하려면 게시의 호환성 수준이 90RTM 이상이어야 합니다.
이 옵션은 게시를 만들 때 지정하거나 애플리케이션에서 일부 삭제를 복제해야 하고 일괄 처리 삭제와 같은 다른 삭제를 복제하지 않는 경우 설정/해제할 수 있습니다. 다음 예에서는 애플리케이션에서 이 옵션을 사용하는 방법을 설명합니다.
이동이 잦은 영업 사원이 사용하는 애플리케이션에는 일반적으로 SalesOrderHeader, SalesOrderDetail 및 Product와 같은 테이블이 있습니다. 구독자에서 입력한 주문은 게시자로 복제되고 게시자에서는 이 데이터를 주문 수행 시스템에 제공합니다. 이동이 잦은 영업 사원 중 많은 수가 스토리지가 제한된 핸드헬드 디바이스를 사용하므로 게시자에서 주문을 받으면 해당 주문을 구독자에서 삭제할 수 있습니다. 해당 주문은 시스템 내에서 계속 활성 상태이므로 삭제가 게시자에 전파되지 않습니다.
이 시나리오에서 SalesOrderHeader 및 SalesOrderDetail 테이블에 대해 삭제를 추적할 수 없습니다. 제품이 게시자에서 삭제되면 제품 목록을 최신 내용으로 유지할 수 있게 삭제 내용을 구독자로 보내야 하므로 Product 테이블에 대한 삭제는 추적할 수 있습니다.
애플리케이션은 1년 이상의 기록을 주기적으로 제거하는 TransactionHistory와 같은 테이블에 레코드 데이터를 저장할 수 있습니다. 구독자가 현재 월 내의 트랜잭션에 대한 데이터만 수신할 수 있도록 테이블을 필터링할 수 있습니다. 이전 데이터를 제거하는 게시자의 월별 일괄 삭제는 구독자와 관련이 없지만 기본적으로 추적되고 열거됩니다.
이 시나리오에서는 일괄 처리가 발생하기 전에 시스템에서 작업을 중지하고 애플리케이션에서 삭제 추적을 사용하지 않도록 설정할 수 있습니다. 처리가 완료되면 추적을 다시 사용하도록 설정할 수 있습니다.
Important
게시자에서 다른 작업이 계속되는 경우 삭제 추적이 해제되어 있는 동안은 구독자로 전파되어야 하는 삭제가 발생하지 않도록 합니다.
삭제가 추적되지 않게 지정하려면
- 복제 Transact-SQL 프로그래밍: 병합 복제 속성 지정