Udostępnij za pośrednictwem


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.

Topic link iconKonwencje składni języka Transact-SQL

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.