Udostępnij za pośrednictwem


Jak Określ rozpoznawania nazw artykułu korespondencji seryjnej (Programowanie replikacja języka Transact-SQL)

Podczas definiowania artykuł do publikacja korespondencji seryjnej, można określić niestandardowy mechanizm rozwiązywania konfliktów.For more information, see Zaawansowane wykrywanie konfliktów replikacja łączenia i rozdzielczości.Microsoft SQL Server includes a number of predefined custom conflict resolvers, or you can write your own.Jeśli zachodzi potrzeba wykonania logiki niestandardowej, która jest wykonywana dla każdego wiersza replikowanych, nie tylko dla wierszy, będące w konflikcie, zobacz Jak Wdrożenie obsługa logika biznesowa artykuł korespondencji seryjnej (Programowanie replikacja).

Aby zarejestrować niestandardowy mechanizm rozwiązywania konfliktów

  1. Jeśli użytkownik chce zarejestrować swoje własne niestandardowe konflikt rozpoznawania nazw, należy utworzyć jedną z następujących typów:

  2. Aby określić, jeśli żądany program rozpoznawania nazw jest już zarejestrowany, wykonać sp_enumcustomresolvers (Transact-SQL) Wydawca na dowolnej bazy danych. Spowoduje to wyświetlenie opisu niestandardowego programu rozpoznawania nazw, jak również identyfikator klasy (CLSID) dla każdego rozpoznawania opartą na modelu COM zarejestrowanych na dystrybutor lub informacje na temat wirtualny plik dziennika zarządzanych dla każdego zarejestrowanej u dystrybutora obsługa logika biznesowa.

  3. Jeśli żądany niestandardowego programu rozpoznawania nazw nie jest już zarejestrowany, wykonać sp_registercustomresolver (Transact-SQL) u dystrybutor. Określ nazwę dla rozpoznawania nazw dla @ article_resolver; obsługi logikę biznesową, jest to przyjazną nazwę wirtualny plik dziennika.W przypadku rozpoznawania nazw opartych na modelu COM należy określić identyfikator klasy biblioteki DLL dla @ resolver_clsid, a dla obsługa logika biznesowa, należy określić wartość true dla @ is_dotnet_assembly, nazwa wirtualny plik dziennika dla @ dotnet_assembly_namei w pełni kwalifikowaną nazwę klasy, która zastępuje BusinessLogicModule dla @ dotnet_class_name.

    Uwaga

    Jeśli z wirtualny plik dziennika programu obsługa logika biznesowa nie został wdrożony w tym samym katalogu co wykonywalne, w tym samym katalogu co aplikacja agenta korespondencji seryjnej, synchronicznie uruchamia Agent korespondencji seryjnej, lub w Global wirtualny plik dziennika Cache (GAC), trzeba podać pełną ścieżka z nazwą wirtualny plik dziennika dla @ dotnet_assembly_name.

  4. Program rozpoznawania nazw w przypadku rozpoznawania nazw opartych na modelu COM:

    • Kopiowanie niestandardowego programu rozpoznawania nazw DLL dystrybutor dla subskrypcji wypychanych lub abonenta dla ściągać subskrypcji.

      Uwaga

      Microsoft niestandardowe programy rozpoznawania nazw można znaleźć w C:\Program Files\Microsoft SQL Server\100\Katalog modelu COM.

    • Za pomocą regsvr32.exe zarejestrować niestandardowego programu rozpoznawania nazw biblioteki DLL w systemie operacyjnym.Na przykład wykonywanie następujących wiersz polecenia rejestruje SQL Server Dodatek mechanizm rozwiązywania konfliktów:

      regsvr32 ssradd.dll
      
  5. Jeśli program rozpoznawania nazw jest obsługa logika biznesowa, wdrożyć wirtualny plik dziennika w tym samym folderze co plik wykonywalny Agent korespondencji seryjnej (replmerg.exe), w tym samym folderze co aplikacja, która wywołuje Agent korespondencji seryjnej lub w folderze określonym dla @ dotnet_assembly_name parametr w kroku 3.

    Uwaga

    Domyślną lokalizacją instalacji agenta scalanie pliku wykonywalnego jest C:\Program Files\Microsoft SQL Server\100\COM.

Aby określić niestandardowego programu rozpoznawania nazw podczas definiowania artykuł korespondencji seryjnej

  1. Jeśli użytkownik zamierza używać niestandardowego mechanizm rozwiązywania konfliktów, utworzyć i zarejestrować program rozpoznawania nazw za pomocą powyższej procedury.

  2. Wydawca wykonać sp_enumcustomresolvers (Transact-SQL) i zanotuj nazwę żądany niestandardowy program rozpoznawania nazw w wartość pole ze zestaw wyników.

  3. Wydawca publikacja bazy danych wykonać sp_addmergearticle (Transact-SQL). Należy określić nazwę programu rozpoznawania nazw w kroku 2 dla @ article_resolver i wszystkie wymagane dane wejściowe do niestandardowego programu rozpoznawania nazw przy użyciu @ resolver_info parametr.Procedura oparta resolvery niestandardowe przechowywane @ resolver_info jest nazwą przechowywanej procedury.Aby uzyskać więcej informacji na temat wymagane dane wejściowe dla rozpoznawania nazw, dostarczone przez Microsoft, zobacz Programy rozpoznawania nazw opartych na modelu COM firmy Microsoft.

Aby określić lub zmienić niestandardowego programu rozpoznawania nazw istniejących artykuł korespondencji seryjnej

  1. Aby określić, jeżeli artykuł został zdefiniowany niestandardowego programu rozpoznawania nazw lub nazwy program rozpoznawania nazw, wykonać sp_helpmergearticle (języka Transact-SQL). W przypadku rozpoznawania nazw niestandardowe zdefiniowane dla artykuł, jego nazwa zostanie wyświetlona w article_resolver pole.Wszystkie dane wejściowe do program rozpoznawania nazw będą wyświetlane w resolver_info pole ze zestaw wyników.

  2. Wydawca wykonać sp_enumcustomresolvers (Transact-SQL) i zanotuj nazwę żądany niestandardowy program rozpoznawania nazw w wartość pole ze zestaw wyników.

  3. Wydawca publikacja bazy danych wykonać sp_changemergearticle (języka Transact-SQL). Podaj wartość article_resolver, włączając w to pełną ścieżka do obsługi logika biznesowa, @ Właściwośći nazwę żądanego niestandardowy program rozpoznawania nazw w kroku 2 dla wartość @.

  4. Aby zmienić wszystkie wymagane dane wejściowe dla niestandardowego programu rozpoznawania nazw, wykonać sp_changemergearticle (języka Transact-SQL) ponownie. Podaj wartość resolver_info for @ Właściwość wymagane dane wejściowe do niestandardowego programu rozpoznawania nazw dla i dowolnewartość @.Procedura oparta resolvery niestandardowe przechowywane @ resolver_info jest nazwą przechowywanej procedury.Aby uzyskać więcej informacji na temat wymaganych danych wejściowych Zobacz Programy rozpoznawania nazw opartych na modelu COM firmy Microsoft.

Aby wyrejestrować niestandardowy mechanizm rozwiązywania konfliktów

  1. Wydawca wykonać sp_enumcustomresolvers (Transact-SQL) i zanotuj nazwę niestandardowego programu rozpoznawania nazw do usunięcia w wartość pole ze zestaw wyników.

  2. wykonać sp_unregistercustomresolver (języka Transact-SQL) u dystrybutor. Należy określić pełną nazwę niestandardowego programu rozpoznawania nazw z kroku 1 do @ article_resolver.

Example

W tym przykładzie powoduje utworzenie nowego artykuł i określa, że SQL Server Obliczanie wartości średniej mechanizm rozwiązywania konfliktów do obliczenia średniej CenaJednostkowa kolumna, gdy występują konflikty.

W tym przykładzie zmienia artykuł, aby określić, z SQL Server Dodatek konflikt rozpoznawania nazw, aby obliczyć sumę JednostkiZamówione kolumna, gdy występują konflikty.