Freigeben über


sp_addsynctriggers (Transact-SQL)

Gilt für: SQL Server

Erstellt Trigger für den Abonnenten, der mit allen Arten aktualisierbarer Abonnements verwendet wird (sofortige, in die Warteschlange eingereihte und sofortige Aktualisierung mit aktualisierungswarteschlangen als Failover). Diese gespeicherte Prozedur wird beim Abonnenten in der Abonnementdatenbank ausgeführt.

Wichtig

Das sp_script_synctran_commands-Verfahren sollte anstelle von sp_addsynctrigger. sp_script_synctran_commands generiert ein Skript, das die sp_addsynctrigger Aufrufe enthält.

Transact-SQL-Syntaxkonventionen

Syntax

sp_addsynctriggers
    [ @sub_table = ] N'sub_table'
    , [ @sub_table_owner = ] N'sub_table_owner'
    , [ @publisher = ] N'publisher'
    , [ @publisher_db = ] N'publisher_db'
    , [ @publication = ] N'publication'
    , [ @ins_proc = ] N'ins_proc'
    , [ @upd_proc = ] N'upd_proc'
    , [ @del_proc = ] N'del_proc'
    , [ @cftproc = ] N'cftproc'
    , [ @proc_owner = ] N'proc_owner'
    [ , [ @identity_col = ] N'identity_col' ]
    [ , [ @ts_col = ] N'ts_col' ]
    [ , [ @filter_clause = ] N'filter_clause' ]
    , [ @primary_key_bitmap = ] primary_key_bitmap
    [ , [ @identity_support = ] identity_support ]
    [ , [ @independent_agent = ] independent_agent ]
    , [ @distributor = ] N'distributor'
    [ , [ @pubversion = ] pubversion ]
    [ , [ @dump_cmds = ] dump_cmds ]
[ ; ]

Argumente

[ @sub_table = ] N'sub_table'

Der Name der Tabelle "Subscriber". @sub_table ist "sysname" ohne Standard.

[ @sub_table_owner = ] N'sub_table_owner'

Der Name des Besitzers der Abonnententabelle. @sub_table_owner ist "sysname" ohne Standard.

[ @publisher = ] N'publisher'

Der Name des Verlegerservers. @publisher ist "sysname" ohne Standard.

[ @publisher_db = ] N'publisher_db'

Der Name der Verlegerdatenbank. @publisher_db ist "sysname" ohne Standard. Wenn NULLdie aktuelle Datenbank verwendet wird.

[ @publication = ] N'Publikation'

Der Name der Veröffentlichung. @publication ist "sysname" ohne Standard.

[ @ins_proc = ] N'ins_proc'

Der Name der gespeicherten Prozedur, die synchrone Transaktionseinfügungen in Publisher unterstützt. @ins_proc ist "sysname" ohne Standard.

[ @upd_proc = ] N'upd_proc'

Der Name der gespeicherten Prozedur, die synchrone Transaktionsaktualisierungen bei Publisher unterstützt. @upd_proc ist "sysname" ohne Standard.

[ @del_proc = ] N'del_proc'

Der Name der gespeicherten Prozedur, die synchrone Transaktionslöschungen bei Publisher unterstützt. @del_proc ist "sysname" ohne Standard.

[ @cftproc = ] N'cftproc'

Der Name der automatisch generierten Prozedur, die von Publikationen verwendet wird, die eine Aktualisierung in die Warteschlange ermöglichen. @cftproc ist "sysname" ohne Standard. Für Publikationen, die eine sofortige Aktualisierung ermöglichen, lautet NULLdieser Wert . Dieser Parameter wird auf Veröffentlichungen angewendet, die verzögerte Updates über eine Warteschlange ermöglichen (verzögertes Update über eine Warteschlange bzw. sofortiges Update mit verzögertem Update über eine Warteschlange als Failover).

[ @proc_owner = ] N'proc_owner'

Gibt das Benutzerkonto im Publisher an, unter dem alle automatisch generierten gespeicherten Prozeduren zum Aktualisieren der Publikation (in der Warteschlange und/oder direkt) erstellt wurden. @proc_owner ist "sysname" ohne Standard.

[ @identity_col = ] N'identity_col'

Der Name der Identitätsspalte in Publisher. @identity_col ist "sysname" mit der Standardeinstellung "NULL.

[ @ts_col = ] N'ts_col'

Der Name der Zeitstempelspalte in Publisher. @ts_col ist "sysname" mit der Standardeinstellung "NULL.

[ @filter_clause = ] N'filter_clause'

Eine WHERE-Klausel (Restriction), die einen horizontalen Filter definiert. Wenn Sie die Einschränkungsklausel eingeben, lassen Sie das Schlüsselwort WHERE weg. @filter_clause ist nvarchar(4000), wobei die Standardeinstellung istNULL.

[ @primary_key_bitmap = ] primary_key_bitmap

Eine Bitzuordnung der Primärschlüsselspalten in der Tabelle. @primary_key_bitmap ist varbinary(4000), ohne Standard.

[ @identity_support = ] identity_support

Aktiviert und deaktiviert die automatische Behandlung von Identitätsbereichen im Fall der verzögerten Aktualisierung. @identity_support ist bit, mit einem Standardwert von 0.

  • 0 bedeutet, dass keine Identitätsbereichsunterstützung vorhanden ist.
  • 1 ermöglicht die automatische Behandlung von Identitätsbereichs.

[ @independent_agent = ] independent_agent

Gibt an, ob eine einzelne Verteilungs-Agent (ein unabhängiger Agent) für diese Publikation oder ein Verteilungs-Agent pro Publikationsdatenbank und Abonnementdatenbankpaar (einem freigegebenen Agent) vorhanden ist. @independent_agent ist bit, mit einem Standardwert von 0. Dieser Wert gibt den Wert der independent_agent Eigenschaft der publikation wieder, die im Publisher definiert ist.

  • Wenn 0der Agent ein freigegebener Agent ist.
  • Wenn 1der Agent ein unabhängiger Agent ist.

[ @distributor = ] N'distributor'

Der Name des Distributors. @distributor ist "sysname" ohne Standard.

[ @pubversion = ] pubversion

Gibt die Version des Verlegers an. @pubversion ist int mit einem Standardwert von 1.

  • 1 bedeutet, dass die Publisher-Version SQL Server 2000 (8.x) Service Pack 2 oder frühere Versionen ist.
  • 2 bedeutet, dass publisher SQL Server 2000 (8.x) Service Pack 3 (SP 3) und höhere Versionen ist.

@pubversion muss explizit festgelegt 2 werden, wenn die Publisher-Version SQL Server 2000 (8.x) SP 3 und höher ist.

[ @dump_cmds = ] dump_cmds

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

sp_addsynctriggerswird vom Verteilungs-Agent als Teil der Abonnementinitialisierung verwendet. Diese gespeicherte Prozedur wird nicht häufig von Benutzern ausgeführt, kann aber hilfreich sein, wenn der Benutzer manuell ein Abonnement ohne Synchronisierung einrichten muss.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder db_owner feste Datenbankrolle können ausgeführt werden sp_addsynctriggers.