Udostępnij za pośrednictwem


Jak Wdrożenie opartych na modelu COM niestandardowe Rozwiązywanie konfliktów artykuł korespondencji seryjnej (Programowanie replikacji)

Microsoft.SqlServer.Replication.BusinessLogicSupport Nazw implementuje interfejs, który umożliwia pisanie złożonej logika biznesowa do obsługi zdarzeń i rozwiązywania konfliktów, które występują podczas procesu synchronizacji replikacja scalająca.Aby uzyskać więcej informacji, zobacz Jak Wdrożenie obsługi logiki biznesowej korespondencji seryjnej artykuł (Programowanie replikacji).Można także napisać własny macierzystym opartego na kodzie niestandardowe logika biznesowa rozwiązać konflikty.Tę logikę jest zbudowany jako składnik COM i skompilowany do bibliotek dołączanych dynamicznie (DLL), używając produktów, takich jak Microsoft Visual C++.Niestandardowy COM–based mechanizm rozwiązywania konfliktów musi implementować ICustomResolver interfejs, które zaprojektowano dla rozwiązywania konfliktów.

Aby utworzyć i zarejestrować niestandardowe opartego na modelu COM.mechanizm rozwiązywania konfliktów

  1. W środowisku tworzenia treści zgodnego z COM należy dodać odwołania do biblioteki niestandardowych Rozwiązywanie konfliktów.

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

  3. Tworzenie klasy implementującej ICustomResolver interfejs.

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

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

  6. Wdrażanie biblioteki w katalogu zawierającego seryjnej agent wykonywalne (zazwyczaj \Microsoft SQL Server\100\COM).

    Ostrzeżenie

    Rozwiązywanie konfliktów niestandardowe muszą być wdrożone przez subskrybenta subskrypcji ściąganej, u dystrybutora dla subskrypcja wypychana, lub na serwerze sieci Web z sieci synchronizacja w sieci Web.

  7. Zarejestrować niestandardowe mechanizm rozwiązywania konfliktów biblioteki przy użyciu narzędzia regsvr32.exe z katalogu wdrażania w następujący sposób:

    regsvr32.exe mycustomresolver.dll
    
  8. Wydawca, należy wykonać sp_enumcustomresolvers (języka Transact-SQL) zweryfikować, że biblioteka nie jest już zarejestrowany jako własne mechanizm rozwiązywania konfliktów.

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

    Ostrzeżenie

    Kiedy już potrzebne, niestandardowy mechanizm rozwiązywania konfliktów można wyrejestrować za pomocą 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 dla zapewnienia, że niestandardowego programu rozpoznawania nazw będą mogli poprawnie załadować reconciler po pracy awaryjnej.

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

  1. Wydawca, należy wykonać sp_enumcustomresolvers (języka Transact-SQL) i zanotuj przyjazna nazwa żądanego programu rozpoznawania nazw.

  2. Wydawca na baza danych publikacja, wykonanie sp_addmergearticle (języka Transact-SQL) do definiowania artykuł.Określa przyjazną nazwę artykuł program rozpoznawania nazw z kroku 1 dla @ article_resolver.Aby uzyskać więcej informacji, zobacz Jak Definiowanie artykuł (Programowanie replikacji Transact-SQL).

Aby użyć niestandardowej mechanizm rozwiązywania konfliktów z istniejącego artykuł tabela

  1. Wydawca, należy wykonać sp_enumcustomresolvers (języka Transact-SQL) i zanotuj przyjazna nazwa żądanego programu rozpoznawania nazw.

  2. Wykonanie sp_changemergearticle (języka Transact-SQL), określając publikacja @, @ artykuł, wartość article_resolver dla @ Właściwośći przyjazną nazwę artykuł program rozpoznawania nazw z kroku 1 dla wartość @.