sp_check_for_sync_trigger (Transact-SQL)
Określa, czy wyzwalacz zdefiniowanej przez użytkownika lub procedura przechowywana jest wywoływana w kontekście wyzwalacza replikacja, który jest używany do natychmiastowej aktualizacji subskrypcji.Ta procedura przechowywana jest wykonywana na Wydawca publikacja bazy danych lub na abonenta w bazie danych subskrypcja.
sp_check_for_sync_trigger [ @tabid = ] 'tabid'
[ , [ @trigger_op = ] 'trigger_output_parameters' OUTPUT ]
[ , [ @fonpublisher = ] fonpublisher ]
Argumenty
[@ tabid = „tabid"
Is the object ID of the table being checked for immediate updating triggers.tabid is int with no default.[@ trigger_op = „trigger_output_parameters"DANE WYJŚCIOWE
Specifies if the output parameter is to return the type of trigger it is being called from.trigger_output_parameters is char(10) and can be one of these values.Wartość
Description
Ins
Wyzwalacz INSERT
Upd
Wyzwalacz UPDATE
Del
DELETE wyzwalacza
NULL(default)
[ @fonpublisher = ] fonpublisher
Specifies the location where the stored procedure is executed.fonpublisher is bit, with a default value of 0.Jeśli jest ustawiona na 0, wykonanie jest przez subskrybent, a jeśli 1, wykonywanie przy Wydawca.
Wartości kodów powrotnych
wartość 0 wskazuje, że procedura przechowywana jest nie wywoływana w kontekście wyzwalacz natychmiastowe aktualizowanie.1-wskazuje, że jest wywoływana w kontekście wyzwalacz natychmiastowe aktualizowanie i jest typ wyzwalacza zwracanych w @trigger\_op.
Remarks
sp_check_for_sync_trigger jest używana w przypadku replikacja migawka i replikacji transakcyjnej.
sp_check_for_sync_trigger jest używana do koordynowania między replikacja i zdefiniowanych przez użytkownika wyzwalaczy.Ta procedura przechowywana decyduje o tym, jeśli go jest wywoływana w kontekście wyzwalacz replikacja.Na przykład można wywołać procedury sp_check_for_sync_trigger w treści wyzwalacza zdefiniowanej przez użytkownika.Jeśli sp_check_for_sync_trigger returns 0, zdefiniowane przez użytkownika wyzwalaczy kontynuuje przetwarzanie.Jeśli sp_check_for_sync_trigger returns 1, zamyka wyzwalacza zdefiniowanej przez użytkownika.Pozwala to uzyskać pewność, że wyzwalacz zdefiniowanej przez użytkownika nie ognia, gdy wyzwalacz replikacja aktualizuje tabela.
Example
Poniższy przykład przedstawia kod, który może zostać wykorzystana w wyzwalacza dla tabela subskrybent.
DECLARE @retcode int, @trigger_op char(10), @table_id int
SELECT @table_id = object_id('tablename')
EXEC @retcode = sp_check_for_sync_trigger @table_id, @trigger_op OUTPUT
IF @retcode = 1
RETURN
Kod można także dodać do wyzwalacza dla tabela przez wydawcę, kod jest podobny, ale wywołanie sp_check_for_sync_trigger zawiera dodatkowy parametr.
DECLARE @retcode int, @trigger_op char(10), @table_id int, @fonpublisher int
SELECT @table_id = object_id('tablename')
SELECT @fonpublisher = 1
EXEC @retcode = sp_check_for_sync_trigger @table_id, @trigger_op OUTPUT, @fonpublisher
IF @retcode = 1
RETURN
Uprawnienia
sp_check_for_sync_trigger przechowywane procedury mogą być wykonywane przez dowolnego użytkownika z uprawnieniami SELECT w sys.Objects widok systemu.