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
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.
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
- wykonać sp_addmergearticle do definiowania artykuł, określając wartość MicrosoftSQL Procedura rozpoznawania nazw dla przechowywane serwera**@ article_resolver** parametr i nazwę procedura przechowywana, która implementuje logiki mechanizm rozwiązywania konfliktów dla @ resolver_info parametr.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
Execute sp_changemergearticle, specifying @publication, @article, a value of article_resolver for @property, and a value of MicrosoftSQL Server Stored ProcedureResolver for @value.
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ść @.