고급 병합 복제 충돌 - COM 기반 사용자 지정 해결 프로그램Advanced Merge Replication Conflict - COM-Based Custom Resolvers

사용자 지정 해결 프로그램은 기본 해결 메커니즘보다 더 높은 유연성을 제공하며 복제된 데이터를 사용하여 응용 프로그램에 필요한 비즈니스 논리를 구현할 수 있습니다.Custom resolvers provide more flexibility than the default resolution mechanism, and they can implement business logic required by applications using the replicated data. COM 기반 사용자 지정 해결 프로그램은 DLL(동적 연결 라이브러리)이며 ICustomResolver COM 인터페이스, 해당 메서드 및 속성, 그리고 충돌 해결을 위해 특별히 디자인된 다른 지원 인터페이스 및 유형 정의를 구현합니다.A COM-based custom resolver is a dynamic-link library (DLL) that implements the ICustomResolver COM interface, its methods and properties, and other supporting interfaces and type definitions designed specifically for conflict resolution.

참고

가능하면 COM 기반 사용자 지정 해결 프로그램보다 비즈니스 논리 처리기를 사용하는 것이 좋습니다.It is recommended to use a business logic handler rather than a COM-based custom resolver if possible. 비즈니스 논리 처리기에 대한 자세한 내용은 병합 동기화 중 비즈니스 논리 실행을 참조하세요.For more information on business logic handlers, see Execute Business Logic During Merge Synchronization.

사용자 지정 COM 해결 프로그램을 작성하려면 replrec.dll에 제공된 형식 라이브러리를 사용합니다. 기본적으로 이 라이브러리는 C:\Program Files\Microsoft SQL Server\130\C:\Program Files\Microsoft SQL Server\130\COM에 설치됩니다.To build a custom COM resolver, you can use the type library that is provided in the replrec.dll; by default, this library is installed at C:\Program Files\Microsoft SQL Server\130\C:\Program Files\Microsoft SQL Server\130\COM.

사용자 지정 COM 해결 프로그램을 작성하기 전 다음 사항을 결정해야 합니다.Before writing a custom COM resolver, you need to decide:

  • 해결하려는 행 변경의 유형(예: 업데이트, 삽입 및 삭제) 및 해결 프로그램을 병합 변경 내용을 업로드하는 동안 호출할지 병합 변경 내용을 다운로드하는 동안 호출할지 또는 두 작업 모두를 수행하는 동안 호출할지 여부.The types of row changes you want to resolve, such as updates, inserts, and deletes, and whether the resolver should be invoked during the upload of merge changes, the download of merge changes, or both. 사용자는 하나의 변경 내용, 모든 변경 내용 또는 변경 내용이 조합된 것의 유형을 지정할 수 있습니다.You can specify one type of change, all changes, or any combination. 기본 병합 충돌 해결 프로그램은 사용자 지정 해결 프로그램이 해결하지 못하는 충돌을 처리합니다.The default merge conflict resolver handles any conflicts not covered by a custom resolver.

  • 충돌 해결 시 열 추적의 사용 여부.Whether to use column tracking when resolving the conflict. 열 추적이 설정되어 있으면 충돌이 존재하는 열의 데이터만 충돌로 플래그가 지정되며, 그렇지 않을 경우에 데이터는 병합됩니다.When column-level tracking is on, only data in those columns where a conflict exists are flagged as a conflict, otherwise the data is merged. 그러나 충돌은 행 수준 추적에서와 같은 방법으로 해결됩니다. 즉, 우선 순위 적용 항목이 데이터 전체 행을 덮어씁니다. 그러나 데이터는 게시자나 구독자의 값 또는 게시자 및 구독자가 아닌 위치의 일부 변경된 값이 혼합된 것일 수 있습니다.However, conflicts are resolved in the same way as row-level tracking: the priority winner overwrites the entire row of data (but the data can be a mix of values from the Publisher, Subscribers, or some altered values that were from neither Publisher nor Subscribers). 자세한 내용은 Detect and Resolve Merge Replication Conflicts을 참조하세요.For more information, see Detect and Resolve Merge Replication Conflicts.

    COM 기반 사용자 지정 충돌 해결 프로그램을 구현하려면 Implement a Custom Conflict Resolver for a Merge Article을 참조하십시오.To implement a COM-based custom conflict resolver, see Implement a Custom Conflict Resolver for a Merge Article.

    사용자 지정 해결 프로그램은 전체 게시에 대해서가 아니라 아티클에 대해 지정됩니다.A custom resolver is specified for an article, not an entire publication. 하나 이상의 아티클에 대해서 동일한 해결 프로그램을 사용할 수 있지만 사용자 지정 해결 프로그램의 논리는 특정 테이블에만 적용되는 경우가 많습니다.The same resolver can be used with more than one article, but the logic in custom resolvers is often specific to a particular table. 해결 프로그램을 만든 후 아티클에 사용되는 테이블을 수정하면(예: 충돌 해결에 사용되는 열 이름 변경) 사용자 지정 해결 프로그램을 수정하고 다시 컴파일해야 할 수 있습니다.If the table used in the article is modified after the resolver is created (for example, renaming the column name that is used in conflict resolution), the custom resolver might need to be modified and recompiled.

    사용자 지정 해결 프로그램을 지정하려면 Specify a Merge Article Resolver을 참조하십시오.To specify a custom resolver, see Specify a Merge Article Resolver.

관련 항목:See Also

Advanced Merge Replication Conflict Detection and Resolution Advanced Merge Replication Conflict Detection and Resolution
Microsoft COM-Based Resolvers Microsoft COM-Based Resolvers