Udostępnij za pośrednictwem


Jak Wdrożenie rozpoznawania przechowywane procedury based niestandardowe konfliktów nazw artykuł korespondencji seryjnej (Programowanie replikacja języka Transact-SQL)

Można napisać własny niestandardowy mechanizm rozwiązywania konfliktów jako Transact-SQL Procedura przechowywana, każdy wydawca. Podczas synchronizacji ta procedura przechowywana jest wywoływana, gdy występują konflikty w artykule, w której zarejestrowano program rozpoznawania nazw, a informacje na temat konfliktu wiersza są przekazywane przez agenta korespondencji seryjnej do wymaganych parametrów procedury.Programy rozpoznawania nazw przechowywanej procedury niestandardowe konflikt są zawsze tworzone na Wydawca.

Uwaga

Microsoft SQL Server programy rozpoznawania nazw procedura przechowywana są wywoływane tylko do obsługi wierszy od zmian konflikty.Nie można ich używać do obsługi innych typów konflikty, takich jak awarie wstawiania ze względu na naruszenie klucz podstawowy lub naruszeniach ograniczeń indeks unikatowy.

Aby utworzyć procedura przechowywana-opartych na konflikt niestandardowego programu rozpoznawania nazw

  1. Wydawca w jednej publikacja lub msdb bazy danych, Utwórz nowy system procedura przechowywana, implementuje następujące wymagane parametry:

    Parameter

    Typ danych

    Description

    @ tableowner

    sysname

    Nazwa właściciela tabela, dla których rozwiązać konflikt.To jest właścicielem tabela w bazie danych publikacja.

    @tablename

    sysname

    Nazwa tabela, dla których rozwiązać konflikt.

    @rowguid

    uniqueidentifier

    Unikatowy identyfikator dla wiersza o konfliktu.

    @subscriber

    sysname

    Nazwa serwera, z którym są propagowane zmiany powodujące konflikt.

    @subscriber_db

    sysname

    Nazwa bazy danych, z którym są propagowane zmiany powodujące konflikt.

    @ log_conflict wyjście

    int

    Czy proces scalania powinny być rejestrowane konfliktu do późniejszego rozpoznawania:

    0 = Nie nie rejestrować konfliktu.

    1 = subskrybent jest loser konfliktu.

    2 = Wydawca jest loser konfliktu.

    @ conflict_message wyjście

    nvarchar(512)

    Wiadomość należy podać o rozdzielczości, jeśli jest rejestrowany konflikt.

    @ destowner

    sysname

    Właściciel tabela opublikowanych przez subskrybent.

    Tej procedura przechowywana korzysta z wartości przekazanych przez agenta korespondencji seryjnej do tych parametrów do zaimplementowania sieci logiki rozdzielczość niestandardową konflikt, to musi zwrócić zestaw wyników jeden wiersz, który jest taka sama, jak w strukturze tabela bazowa i zawiera wartości danych dla wersja wygrywający wiersz.

  2. Przyznać uprawnienia wykonać na procedura przechowywana, aby wszystkie identyfikatory logowania używane przez subskrybentów, aby połączyć się z wydawcą.

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

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

  1. Execute sp_changemergearticle, specifying @publication, @article, a value of article_resolver for @property, and a value of MicrosoftSQL Server Stored ProcedureResolver for @value.

  2. wykonać sp_changemergearticle, określając @ publikacja, @ artykuł, wartość resolver_info for @ Właściwośći nazwa procedura przechowywana, która implementuje logiki mechanizm rozwiązywania konfliktów dla wartość @.