Freigeben über


sp_addsynctriggers (Transact-SQL)

Erstellt auf dem Abonnenten Trigger, die mit allen Typen aktualisierbarer Abonnements verwendet werden können (sofortiges Aktualisieren, verzögertes Aktualisieren über eine Warteschlange, sofortiges Aktualisieren mit verzögertem Aktualisieren über eine Warteschlange als Failover). Diese gespeicherte Prozedur wird auf dem Abonnenten für die Abonnementdatenbank ausgeführt.

Wichtiger HinweisWichtig

Die Prozedur sp_script_synctran_commands sollte anstelle von sp_addsynctrigger verwendet werden. sp_script_synctran_commands generiert ein Skript, das die sp_addsynctrigger-Aufrufe enthält.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @sub_table=] 'sub_table'
    Der Name der Abonnententabelle. sub_table ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @sub_table_owner=] 'sub_table_owner'
    Der Name des Besitzers der Abonnententabelle. sub_table_owner ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @publisher=] 'publisher'
    Der Name des Verlegerservers. publisher ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @publisher_db=] 'publisher_db'
    Der Name der Verlegerdatenbank. publisher_db ist vom Datentyp sysname und hat keinen Standardwert. Mit NULL wird die aktuelle Datenbank verwendet.

  • [ @publication=] 'publication'
    Der Name der Veröffentlichung. Publication ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @ins_proc=] 'ins_proc'
    Der Name der gespeicherten Prozedur, die Einfügungen durch synchrone Transaktionen auf dem Verleger unterstützt. ins_proc ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @upd_proc=] 'upd_proc'
    Der Name der gespeicherten Prozedur, die Aktualisierungen durch synchrone Transaktionen auf dem Verleger unterstützt. ins_proc ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @del_proc=] 'del_proc'
    Der Name der gespeicherten Prozedur, die Löschungen durch synchrone Transaktionen auf dem Verleger unterstützt. ins_proc ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @cftproc = ] 'cftproc'
    Der Name der automatisch generierten Prozedur, die für Veröffentlichungen mit verzögerter Aktualisierung über eine Warteschlange verwendet wird. cftproc ist vom Datentyp sysname und hat keinen Standardwert. Für Veröffentlichungen mit sofortigem Aktualisieren ist dieser Wert NULL. Dieser Parameter wird auf Veröffentlichungen angewendet, die verzögertes Aktualisieren über eine Warteschlange ermöglichen (verzögertes Aktualisieren über eine Warteschlange bzw. sofortiges Aktualisieren mit verzögertem Aktualisieren über eine Warteschlange als Failover).

  • [ @proc_owner = ] 'proc_owner'
    Gibt das Benutzerkonto auf dem Verleger an, mit dem alle automatisch generierten gespeicherten Prozeduren zum Aktualisieren einer Veröffentlichung (verzögert über eine Warteschlange und/oder sofortig) erstellt wurden. proc_owner ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @identity_col=] 'identity_col'
    Der Name der Identitätsspalte auf dem Verleger. identity_col ist vom Datentyp sysname; der Standard ist NULL.

  • [ @ts_col=] 'timestamp_col'
    Der Name der timestamp-Spalte auf dem Verleger. timestamp_col ist vom Datentyp sysname, der Standardwert ist NULL.

  • [ @filter_clause=] 'filter_clause'
    Eine Einschränkungsklausel (WHERE), die einen horizontalen Filter definiert. Lassen Sie bei der Eingabe der Einschränkungsklausel das WHERE-Schlüsselwort aus. filter_clauseist vom Datentyp nvarchar(4000), der Standardwert ist NULL.

  • [ @primary_key_bitmap =] 'primary_key_bitmap'
    Eine Bitmap der Primärschlüsselspalten in der Tabelle. primary_key_bitmap ist vom Datentyp varbinary(4000) und hat keinen Standardwert.

  • [ @identity_support = ] identity_support
    Aktiviert und deaktiviert die automatische Verarbeitung von Identitätsbereichen bei der Verwendung der verzögerten Aktualisierung über eine Warteschlange. identity_support ist vom Datentyp bit, der Standardwert ist 0. Der Wert 0 bedeutet, dass keine Identitätsbereichsunterstützung vorhanden ist. Durch 1 wird die automatische Identitätsbereichsunterstützung aktiviert.

  • [ @independent_agent = ] independent_agent
    Gibt an, ob es einen einzelnen Verteilungs-Agent (einen unabhängigen Agent) für diese Veröffentlichung oder einen Verteilungs-Agent pro Paar aus Veröffentlichungsdatenbank und Abonnementdatenbank (einen freigegebenen Agent) gibt. Dieser Wert gibt den Wert der independent_agent-Eigenschaft der auf dem Verleger definierten Veröffentlichung wieder. independent_agent ist vom Datentyp bit, der Standardwert ist 0. Bei 0 ist der Agent ein freigegebener Agent. Bei 1 ist der Agent ein unabhängiger Agent.

  • [ @distributor = ] 'distributor'
    Der Name des Verteilers. distributor ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @pubversion= ] pubversion
    Gibt die Version des Verlegers an. pubversion ist vom Datentyp int und hat den Standardwert 1. Der Wert 1 bedeutet, dass es sich bei der Version des Verlegers um Microsoft SQL Server 2000 Service Pack 2 oder früher handelt. 2 bedeutet, dass der Verleger die Version SQL Server 2000 Service Pack 3 (SP3) oder höher hat. Für pubversion muss explizit der Wert 2 festgelegt werden, wenn die Version des Verlegers SQL Server 2000 SP3 oder höher ist.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_addsynctriggers wird vom Verteilungs-Agent als Teil der Abonnementinitialisierung verwendet. Diese gespeicherte Prozedur wird normalerweise nicht von Benutzern ausgeführt, kann jedoch hilfreich sein, wenn der Benutzer manuell ein nosync-Abonnement einrichten muss.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_addsynctriggers ausführen.