Udostępnij za pośrednictwem


Jak Wdrożenie niestandardowy oparte na modelu COM mechanizm rozwiązywania konfliktów artykuł korespondencji seryjnej (Programowanie replikacja)

The Microsoft.SqlServer.Replication.BusinessLogicSupport namespace implements an interfejs that enables you to write complex logika biznesowa to handle events and resolve conflicts that occur during the replikacja łączenia synchronization process. Aby uzyskać więcej informacji zobacz Jak Wdrożenie obsługa logika biznesowa artykuł korespondencji seryjnej (Programowanie replikacja).You można również napisać własny macierzystym opartego na kodzie niestandardowe reguły biznesowe do rozwiązywania konfliktów. Logika ta jest zbudowany jako składnik modelu COM i skompilowany do bibliotek dołączanych dynamicznie (DLL), takie jak korzystanie z produktów Microsoft Program Visual C++. Niestandardowy COM–based mechanizm rozwiązywania konfliktów musi implementować ICustomResolver interfejs, który został zaprojektowany specjalnie na potrzeby rozwiązywania konfliktów.

Aby utworzyć i zarejestrować program mechanizm rozwiązywania konfliktów niestandardową opartą na modelu COM

  1. W modelu COM zgodnego środowisko, tworzenia Dodaj odwołania do niestandardowej mechanizm rozwiązywania konfliktów biblioteki.

  2. W projekcie Visual C++ należy użyć dyrektywy #import zaimportować tę bibliotekę do projektu.

  3. Tworzenie klasy, która implementuje ICustomResolver interfejs.

  4. Wdrożenie niektórych metod i właściwości.

  5. Skompiluj projekt, aby utworzyć niestandardowy mechanizm rozwiązywania konfliktów plik biblioteki.

  6. wdrożyć biblioteki w katalogu, zawierającego korespondencji seryjnej agent wykonywalnych (zazwyczaj \Microsoft SQL Server\100\COM).

    Uwaga

    Niestandardowy mechanizm rozwiązywania konfliktów muszą być wdrożone przez subskrybent subskrypcja wciągana, u dystrybutor subskrypcja wypychana lub na serwerze sieci Web z synchronizacja w sieci Web.

  7. Zarejestruj niestandardowy mechanizm rozwiązywania konfliktów biblioteki za pomocą regsvr32.exe z katalogu wdrażania w następujący sposób:

    regsvr32.exe mycustomresolver.dll
    
  8. Wydawca wykonać sp_enumcustomresolvers (Transact-SQL) Aby sprawdzić, czy biblioteka nie jest już zarejestrowany jako niestandardowy mechanizm rozwiązywania konfliktów.

  9. Aby zarejestrować bibliotekę jako niestandardowy mechanizm rozwiązywania konfliktów, wykonać sp_registercustomresolver (Transact-SQL), u dystrybutor. Określa przyjazną nazwę dla obiektu COM @ article_resolver, identyfikator biblioteki (CLSID) dla @ resolver_clsid, a wartość false dla @ is_dotnet_assembly.

    Uwaga

    Gdy nie są już potrzebne, niestandardowy mechanizm rozwiązywania konfliktów może być wyrejestrowany przy użyciu sp_unregistercustomresolver (języka Transact-SQL).

  10. (Opcjonalnie) W klastrze Powtórz kroki 5-8, aby zarejestrować niestandardowego programu rozpoznawania nazw na wszystkich węzłach klastra.Jest to wymagane, aby zapewnić, że niestandardowego programu rozpoznawania nazw będą mogli poprawnie załadować reconciler, po trybie awaryjnym.

Aby użyć niestandardowego mechanizm rozwiązywania konfliktów z nowego artykuł tabela

  1. Wydawca wykonać sp_enumcustomresolvers (Transact-SQL) i przyjazną nazwę żądanego programu rozpoznawania nazw.

  2. W programie Publisher na baza danych publikacja, wykonać sp_addmergearticle (Transact-SQL) Aby zdefiniować artykuł. Określa przyjazną nazwę programu rozpoznawania nazw artykuł z kroku 1 do @ article_resolver.Aby uzyskać więcej informacji zobacz Jak Definiowanie artykułu (Programowanie replikacja języka Transact-SQL).

Używanie rozpoznawania nazw niestandardowych konflikt z artykuł istniejącej tabela

  1. Wydawca wykonać sp_enumcustomresolvers (Transact-SQL) i przyjazną nazwę żądanego programu rozpoznawania nazw.

  2. wykonać sp_changemergearticle (języka Transact-SQL), określanie @ publikacja, @ artykułu, wartość article_resolver for @ Właściwośći przyjazną nazwę programu rozpoznawania nazw artykuł z kroku 1 do wartość @.