Udostępnij za pośrednictwem


sp_check_for_sync_trigger (języka Transact-SQL)

Określa, czy wyzwalacz zdefiniowane przez użytkownika lub procedura składowana jest wywoływana w kontekście wyzwalacza replikacja, który jest używany do natychmiastowej aktualizacji subskrypcji.Ta procedura składowana jest wykonywany przez wydawcę na bazie publikacja lub subskrybent na baza danych subskrypcja.

Ikona łącza do tematuKonwencje składni Transact-SQL

Składnia

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ść

    Opis

    Ins

    WSTAW wyzwalacz

    UPD

    AKTUALIZUJ wyzwalacz

    Del

    Usunięcie 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 0, wykonanie przez subskrybenta, a 1, wykonanie jest w Wydawca.

Wartości kodów powrotnych

wartość 0 wskazuje, że w kontekście wyzwalacz natychmiastowej aktualizacji nie jest wywoływana procedura składowana.1 wskazuje, że go jest wywoływana w kontekście wyzwalacz natychmiastowej aktualizacji jest typ wyzwalacza zwracanych w @trigger_op.

Uwagi

sp_check_for_sync_trigger w replikacja migawka i replikacja transakcyjna.

sp_check_for_sync_trigger jest używana do koordynacji między replikacja i zdefiniowane przez użytkownika wyzwalaczy.Ta procedura składowana Określa, jeżeli jest ona wywoływana w kontekście wyzwalacza replikacja.Na przykład, można wywołać procedury sp_check_for_sync_trigger w treści wyzwalacza zdefiniowane przez użytkownika.Jeśli sp_check_for_sync_trigger zwraca 0, wyzwalacz użytkownika kontynuuje przetwarzanie.Jeśli sp_check_for_sync_trigger zwraca 1, zamyka wyzwalacza zdefiniowane przez użytkownika.Dzięki temu wyzwalacza zdefiniowane przez użytkownika nie jest wyzwalana, gdy wyzwalacz replikacja aktualizuje tabela.

Przykład

Poniższy przykład przedstawia kodu, która może być używana w wyzwalacza w tabela subskrybenta.

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 również dodawać do wyzwalacza w tabela Wydawca; 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 procedura składowana mogą być wykonywane przez dowolnego użytkownika, wybierz uprawnienia, w sys.objects widok systemu.