병합 아티클에 대해 삭제가 추적되지 않도록 지정Specify That Deletes Should Not Be Tracked For Merge Articles

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

참고

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하세요.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

기본적으로 병합 복제는 게시자와 구독자 간에 DELETE 명령을 동기화합니다.By default, merge replication synchronizes DELETE commands between the Publisher and Subscriber. 병합 복제에서는 행을 게시에서 삭제한 경우에도 구독 데이터베이스에는 그대로 유지할 수 있으며 반대의 경우도 마찬가지입니다.Merge replication enables you to retain rows in the subscription database even when they have been deleted from the publication, and vice versa. 새 아티클을 만들 때 DELETE 명령을 무시할지 여부를 프로그래밍 방식으로 지정할 수 있으며 복제 저장 프로시저를 사용하여 이 기능을 나중에 활성화할 수도 있습니다.You can programmatically specify that DELETE commands be ignored when creating a new article or you can enable this functionality at a later time using replication stored procedures.

중요

이 기능을 활성화하면 불일치가 발생합니다. 이는 구독자에 있는 데이터가 게시자에 있는 데이터를 정확하게 반영하지 않음을 의미합니다.Enabling this functionality will result in non-convergence, which means that data present at the Subscriber will not accurately reflect data at the Publisher. 이 경우 삭제된 행을 수동으로 제거하기 위한 메커니즘을 직접 구현해야 합니다.You must implement your own mechanism for manually removing deleted rows.

새 병합 아티클에 대해 삭제가 무시되도록 지정하려면To specify that deletes be ignored for a new merge article

  1. 게시 데이터베이스의 게시자에서 sp_addmergearticle(Transact-SQL)을 실행합니다.At the Publisher on the publication database, execute sp_addmergearticle (Transact-SQL). @delete_trackingfalse 값을 지정합니다.Specify a value of false for @delete_tracking. 자세한 내용은 Define an Article을 참조하세요.For more information, see Define an Article.

    참고

    아티클의 원본 테이블이 이미 다른 게시에 게시된 경우 delete_tracking 값은 두 아티클에 대해 동일해야 합니다.If the source table for an article is already published in another publication, the value of delete_tracking must be the same for both articles.

기존 병합 아티클에 대해 삭제가 무시되도록 지정하려면To specify that deletes be ignored for an existing merge article

  1. 아티클에 대해 오류 보정이 설정되어 있는지 확인하려면 sp_helpmergearticle(Transact-SQL)을 실행하고 결과 집합에서 delete_tracking의 값을 확인합니다.To determine if error compensation is enabled for an article, execute sp_helpmergearticle (Transact-SQL) and note the value of delete_tracking in the result set. 이 값이 0이면 삭제가 이미 무시되고 있는 것입니다.If this value is 0, deletes are already being ignored.

  2. 1단계의 값이 1이면 게시 데이터베이스의 게시자에서 sp_changemergearticle(Transact-SQL)을 실행합니다.If the value from step 1 is 1, execute sp_changemergearticle (Transact-SQL) at the Publisher on the publication database. @propertydelete_tracking 값, @valuefalse 값을 지정합니다.Specify a value of delete_tracking for @property, and a value of false for @value.

    참고

    아티클의 원본 테이블이 이미 다른 게시에 게시된 경우 delete_tracking 값은 두 아티클에 대해 동일해야 합니다.If the source table for an article is already published in another publication, the value of delete_tracking must be the same for both articles.

참고 항목See Also

조건부 삭제 추적으로 병합 복제 성능 최적화Optimize Merge Replication Performance with Conditional Delete Tracking