sp_addsubscription (Transact-SQL)

Fügt einer Veröffentlichung ein Abonnement hinzu und legt den Status des Abonnenten fest. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungsdatenbank ausgeführt.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_addsubscription [ @publication = ] 'publication'
    [ , [ @article = ] 'article']
    [ , [ @subscriber = ] 'subscriber' ]
    [ , [ @destination_db = ] 'destination_db' ]
        [ , [ @sync_type = ] 'sync_type' ]
    [ , [ @status = ] 'status'
        [ , [ @subscription_type = ] 'subscription_type' ]
    [ , [ @update_mode = ] 'update_mode' ]
    [ , [ @loopback_detection = ] 'loopback_detection' ]
    [ , [ @frequency_type = ] frequency_type ]
    [ , [ @frequency_interval = ] frequency_interval ]
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]
    [ , [ @frequency_subday = ] frequency_subday ]
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]
    [ , [ @active_start_date = ] active_start_date ]
    [ , [ @active_end_date = ] active_end_date ]
    [ , [ @optional_command_line = ] 'optional_command_line' ]
    [ , [ @reserved = ] 'reserved' ]
    [ , [ @enabled_for_syncmgr= ] 'enabled_for_syncmgr' ]
    [ , [ @offloadagent= ] remote_agent_activation]
    [ , [ @offloadserver= ] 'remote_agent_server_name' ]
    [ , [ @dts_package_name= ] 'dts_package_name' ]
    [ , [ @dts_package_password= ] 'dts_package_password' ]
    [ , [ @dts_package_location= ] 'dts_package_location' ]
    [ , [ @distribution_job_name= ] 'distribution_job_name' ]
    [ , [ @publisher = ] 'publisher' ]
    [ , [ @backupdevicetype = ] 'backupdevicetype' ]
    [ , [ @backupdevicename = ] 'backupdevicename' ]
    [ , [ @mediapassword = ] 'mediapassword' ]
    [ , [ @password = ] 'password' ]
    [ , [ @fileidhint = ] fileidhint ]
    [ , [ @unload = ] unload ]
    [ , [ @subscriptionlsn = ] subscriptionlsn ]
    [ , [ @subscriptionstreams = ] subscriptionstreams ]
    [ , [ @subscriber_type = ] subscriber_type ]

Argumente

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

  • [ @article=\] 'article'
    Der Name des Artikels, für den die Veröffentlichung abonniert wird. article ist vom Datentyp sysname und hat den Standardwert all. Wenn auf all gesetzt, wird allen Artikeln dieser Veröffentlichung ein Abonnement hinzugefügt. Nur die Werte all oder NULL werden für Oracle-Verleger unterstützt.

  • [ @subscriber=\] 'subscriber'
    Der Name des Abonnenten. subscriber ist vom Datentyp sysname und hat den Standardwert NULL.

  • [ @destination\_db=\] 'destination_db'
    Der Name der Zieldatenbank, in der die replizierten Daten gespeichert werden sollen. destination_db ist vom Datentyp sysname und hat den Standardwert NULL. Mit NULL wird destination_db auf den Namen der Veröffentlichungsdatenbank festgelegt. Für Oracle-Verleger muss destination_db angegeben werden. Geben Sie für einen Nicht-SQL Server-Abonnenten den Wert (Standardziel) für destination_db an.

  • [ @sync\_type=\] 'sync_type'
    Der Synchronisierungstyp des Abonnements. sync_type ist vom Datentyp nvarchar(255). Die folgenden Werte sind möglich:

    Wert

    Beschreibung

    none

    Der Abonnent besitzt bereits das Schema und die Ausgangsdaten für veröffentlichte Tabellen.

    HinweisHinweis

    Diese Option wurde als veraltet markiert. Verwenden Sie stattdessen replication support only.

    automatic (Standard)

    Das Schema und die Ausgangsdaten für veröffentlichte Tabellen werden zunächst an den Abonnenten übertragen.

    replication support only

    Stellt auf dem Abonnenten das automatische Generieren von benutzerdefinierten gespeicherten Prozeduren für Artikel und Trigger bereit, die ggf. das Aktualisieren von Abonnements unterstützen. Setzt voraus, dass der Abonnent bereits über das Schema und die Anfangsdaten für veröffentlichte Tabellen verfügt. Stellen Sie beim Konfigurieren einer Peer-zu-Peer-Transaktionsreplikationstopologie sicher, dass die Daten in allen Knoten der Topologie identisch sind. Weitere Informationen finden Sie unter Peer-zu-Peer-Transaktionsreplikation.

    Diese Option wird für Abonnements von Nicht-SQL Server-Veröffentlichungen nicht unterstützt.

    initialize with backup

    Das Schema und die Ausgangsdaten für veröffentlichte Tabellen werden von einer Sicherung der Veröffentlichungsdatenbank abgerufen. Es wird davon ausgegangen, dass der Abonnent über Zugriff auf eine Sicherung der Veröffentlichungsdatenbank verfügt. Der Speicherort der Sicherung und der Medientyp der Sicherung werden mit backupdevicename und backupdevicetype angegeben. Wenn Sie diese Option verwenden, muss eine Peer-zu-Peer-Transaktionsreplikationstopologie während der Konfiguration nicht deaktiviert werden.

    Diese Option wird für Abonnements von Nicht-SQL Server-Veröffentlichungen nicht unterstützt.

    initialize from lsn

    Wird verwendet, wenn Sie einer Peer-zu-Peer-Transaktionsreplikationstopologie einen Knoten hinzufügen. Wird mit @subscriptionlsn verwendet, um sicherzustellen, dass alle relevanten Transaktionen auf den neuen Knoten repliziert werden. Setzt voraus, dass der Abonnent bereits über das Schema und die Anfangsdaten für veröffentlichte Tabellen verfügt. Weitere Informationen finden Sie unter Peer-zu-Peer-Transaktionsreplikation.

    HinweisHinweis

    Systemtabellen und Daten werden immer übertragen.

  • [ @status=\] 'status'
    Der Abonnementstatus. status ist vom Datentyp sysname und hat den Standardwert NULL. Wenn dieser Parameter nicht explizit festgelegt wird, wird er von der Replikation automatisch auf einen der folgenden Werte festgelegt.

    Wert

    Beschreibung

    Aktiv

    Das Abonnement wird initialisiert und ist bereit, Änderungen anzunehmen. Diese Option wird festgelegt, wenn sync_type den Wert none, initialize with backup oder replication support only aufweist.

    subscribed

    Das Abonnement muss initialisiert werden. Diese Option wird festgelegt, wenn sync_type den Wert automatic aufweist.

  • [ @subscription\_type=\] 'subscription_type'
    Der Typ des Abonnements. subscription_type ist vom Datentyp nvarchar(4) und hat den Standardwert push. Mögliche Werte sind push und pull. Die Verteilungs-Agents von push-Abonnements befinden sich auf dem Verteiler und die Verteilungs-Agents von pull-Abonnements auf dem Abonnenten. subscription_type kann ein Wert vom Typ pull sein, um ein benanntes Pullabonnement zu erstellen, das dem Verleger bekannt ist. Weitere Informationen finden Sie unter Abonnieren von Veröffentlichungen.

    HinweisHinweis

    Für anonyme Abonnements ist diese gespeicherte Prozedur nicht erforderlich.

  • [ @update\_mode=\] 'update_mode'
    Der Updatetyp. update_mode ist vom Datentyp nvarchar(30). Die folgenden Werte sind möglich:

    Wert

    Beschreibung

    read only (Standard)

    Das Abonnement ist schreibgeschützt. Änderungen am Abonnenten werden nicht an den Verleger gesendet.

    sync tran

    Aktiviert die Unterstützung für das sofortige Aktualisieren von Abonnements. Diese Option wird für Oracle-Verleger nicht unterstützt.

    queued tran

    Aktiviert das verzögerte Aktualisieren über eine Warteschlange für das Abonnement. Daten können auf dem Abonnenten geändert werden; die Änderungen werden in einer Warteschlange gespeichert und an den Verleger weitergegeben. Diese Option wird für Oracle-Verleger nicht unterstützt.

    failover

    Aktiviert das sofortige Aktualisieren für das Abonnement, wobei als Failover das verzögerte Aktualisieren über eine Warteschlange verwendet wird. Daten können auf dem Abonnenten geändert werden; die Änderungen werden sofort an den Verleger weitergegeben. Wenn der Verleger und der Abonnent nicht verbunden sind, kann der Updatemodus geändert werden, damit Datenänderungen auf dem Abonnenten in einer Warteschlange gespeichert werden, bis Abonnent und Verleger erneut verbunden sind. Diese Option wird für Oracle-Verleger nicht unterstützt.

    queued failover

    Ermöglicht das Abonnement als Update über eine Warteschlange, mit der Möglichkeit des Wechsels zum sofortigen Updatemodus. Daten können auf dem Abonnenten geändert und in einer Warteschlange gespeichert werden, bis eine Verbindung zwischen dem Abonnenten und dem Verleger hergestellt wird. Wenn eine kontinuierliche Verbindung hergestellt wird, kann der Updatemodus in den sofortigen Updatemodus geändert werden. Diese Option wird für Oracle-Verleger nicht unterstützt.

    Beachten Sie, dass die Werte sync tran und queued tran nicht zulässig sind, wenn die abonnierte Veröffentlichung DTS zulässt.

  • [ @loopback\_detection=\] 'loopback_detection'
    Gibt an, ob der Verteilungs-Agent Transaktionen, die vom Abonnenten stammen, zurück an den Abonnenten sendet. loopback_detection ist vom Datentyp nvarchar(5). Die folgenden Werte sind möglich.

    Wert

    Beschreibung

    true

    Der Verteilungs-Agent sendet Transaktionen des Abonnenten nicht an den Abonnenten zurück. Diese Option wird für die bidirektionale Transaktionsreplikation verwendet. Weitere Informationen finden Sie unter Bidirektionale Transaktionsreplikation.

    false

    Der Verteilungs-Agent sendet Transaktionen des Abonnenten an den Abonnenten zurück.

    NULL (Standard)

    Wird für einen SQL Server-Abonnenten automatisch auf true und für einen Nicht-SQL Server-Abonnenten auf false festgelegt.

  • [ @frequency\_type=\] frequency_type
    Die Häufigkeit für die Zeitplanung des Verteilungstasks. frequency_type ist vom Datentyp int. Die folgenden Werte sind möglich.

    Wert

    Beschreibung

    1

    Einmal

    2

    Bedarfsgesteuert

    4

    Täglich

    8

    Wöchentlich

    16

    Monatlich

    32

    Monatlich, relativ

    64 (Standard)

    Autostart

    128

    Wiederholt

  • [ @frequency\_interval=\] frequency_interval
    Der Wert, der auf die durch frequency_type festgelegte Häufigkeit angewendet werden soll. frequency_interval ist vom Datentyp int und hat den Standardwert NULL.

  • [ @frequency\_relative\_interval=\] frequency_relative_interval
    Das Datum des Verteilungs-Agents. Dieser Parameter wird verwendet, wenn frequency_type auf 32 (monatlich, relativ) festgelegt wird. frequency_relative_interval ist vom Datentyp int. Die folgenden Werte sind möglich.

    Wert

    Beschreibung

    1

    Erster

    2

    Zweiter

    4

    Dritter

    8

    Vierter

    16

    Letzter

    NULL (Standard)

     

  • [ @frequency\_recurrence\_factor=\] frequency_recurrence_factor
    Der von frequency_type verwendete Wiederholungsfaktor. frequency_recurrence_factor ist vom Datentyp int und hat den Standardwert NULL.

  • [ @frequency\_subday=\] frequency_subday
    Die Häufigkeit (in Minuten) für die erneute geplante Ausführung während des definierten Zeitraums. frequency_subday ist vom Datentyp int. Die folgenden Werte sind möglich.

    Wert

    Beschreibung

    1

    Einmal

    2

    Zweimal

    4

    Minute

    8

    Stunde

    NULL

     

  • [ @frequency\_subday\_interval=\] frequency_subday_interval
    Das Intervall für frequency_subday. frequency_subday_interval ist vom Datentyp int und hat den Standardwert NULL.

  • [ @active\_start\_time\_of\_day=\] active_start_time_of_day
    Die Tageszeit, zu der der Verteilungs-Agent zum ersten Mal geplant ist. Dabei wird das Format HHMMSS verwendet. active_start_time_of_day ist vom Datentyp int und hat den Standardwert NULL.

  • [ @active\_end\_time\_of\_day=\] active_end_time_of_day
    Die Tageszeit, ab der der Verteilungs-Agent nicht mehr geplant ist. Dabei wird das Format HHMMSS verwendet. active_end_time_of_day ist vom Datentyp int und hat den Standardwert NULL.

  • [ @active\_start\_date=\] active_start_date
    Das Datum, an dem der Verteilungs-Agent zum ersten Mal geplant ist. Dabei wird das Format JJJJMMTT verwendet. active_start_date ist vom Datentyp int und hat den Standardwert NULL.

  • [ @active\_end\_date=\] active_end_date
    Das Datum, ab dem der Verteilungs-Agent nicht mehr geplant ist. Dabei wird das Format JJJJMMTT verwendet. active_end_date ist vom Datentyp int und hat den Standardwert NULL.

  • [ @optional\_command\_line=\] 'optional_command_line'
    Die optional auszuführende Befehlszeile. optional_command_line ist vom Datentyp nvarchar(4000) und hat den Standardwert NULL.

  • [ @reserved=\] 'reserved'
    Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

  • [ @enabled\_for\_syncmgr=\] 'enabled_for_syncmgr'
    Gibt an, ob das Abonnement mit der Synchronisierungsverwaltung von Microsoft Windows synchronisiert werden kann. enabled_for_syncmgr ist vom Datentyp nvarchar(5), der Standardwert ist FALSE. Mit false wird das Abonnement nicht bei der Windows-Synchronisierungsverwaltung registriert. Mit true wird das Abonnement bei der Windows-Synchronisierungsverwaltung registriert und kann synchronisiert werden, ohne SQL Server Management Studio zu starten. Diese Option wird für Oracle-Verleger nicht unterstützt.

  • [ @offloadagent= ] 'remote_agent_activation'
    Gibt an, dass eine Remoteaktivierung der Momentaufnahme möglich ist. remote_agent_activation ist vom Datentyp bit. Der Standardwert ist 0.

    HinweisHinweis

    Dieser Parameter wurde als veraltet markiert und wird nur noch bereitgestellt, um Abwärtskompatibilität von Skripts sicherzustellen.

  • [ @offloadserver= ] 'remote_agent_server_name'
    Gibt den Netzwerknamen des Servers an, der für die Remoteaktivierung verwendet werden soll. remote_agent_server_nameist vom Datentyp sysname und hat den Standardwert NULL.

  • [ @dts\_package\_name= ] 'dts_package_name'
    Gibt den Namen des DTS-Pakets (Data Transformation Services) an. dts_package_name ist vom Datentyp sysname und hat den Standardwert NULL. Um z. B. ein Paket namens DTSPub_Package anzugeben, wird der Parameter @dts\_package\_name = N'DTSPub_Package' verwendet. Dieser Parameter ist für Pushabonnements verfügbar. Verwenden Sie sp_addpullsubscription_agent, um einem Pullabonnement DTS-Paketinformationen hinzuzufügen.

  • [ @dts\_package\_password= ] 'dts_package_password'
    Gibt gegebenenfalls das Kennwort des Pakets an. dts_package_password ist vom Datentyp sysname und hat den Standardwert NULL.

    HinweisHinweis

    Sie müssen ein Kennwort angeben, wenn dts_package_name angegeben wird.

  • [ @dts\_package\_location= ] 'dts_package_location'
    Gibt den Paketspeicherort an. dts_package_location ist vom Datentyp nvarchar(12). Der Standardwert ist DISTRIBUTOR. Der Speicherort des Pakets kann distributor oder subscriber sein.

  • [ @distribution\_job\_name= ] 'distribution_job_name'
    Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

  • [ @publisher= ] 'publisher'
    Gibt einen Nicht-Microsoft SQL Server-Verleger an. publisher ist vom Datentyp sysname und hat den Standardwert NULL.

    HinweisHinweis

    publisher sollte nicht für einen SQL Server-Verleger angegeben werden.

  • [ @backupdevicetype= ] 'backupdevicetype'
    Gibt den Sicherungsmedientyp an, der beim Initialisieren eines Abonnenten von einer Sicherung verwendet wird. backupdevicetype ist vom Datentyp nvarchar(20). Die folgenden Werte sind möglich:

    Wert

    Beschreibung

    logical (Standard)

    Das Sicherungsmedium ist ein logisches Medium.

    disk

    Das Sicherungsmedium ist ein Laufwerk.

    tape

    Das Sicherungsmedium ist ein Bandlaufwerk.

    backupdevicetype wird nur verwendet, wenn sync_method auf initialize_with_backup festgelegt ist.

  • [ @backupdevicename= ] 'backupdevicename'
    Gibt den Namen des Sicherungsmediums an, das beim Initialisieren eines Abonnenten von einer Sicherung verwendet wird. backupdevicename ist vom Datentyp nvarchar(1000) und hat den Standardwert NULL.

  • [ @mediapassword= ] 'mediapassword'
    Gibt ein Kennwort für den Mediensatz an, falls beim Formatieren des Mediums ein Kennwort festgelegt wurde. mediapassword ist vom Datentyp sysname und hat den Standardwert NULL.

    HinweisHinweis

    Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.

  • [ @password= ] 'password'
    Gibt ein Kennwort für die Sicherung an, falls beim Erstellen der Sicherung ein Kennwort festgelegt wurde. passwordist vom Datentyp sysname und hat den Standardwert NULL.

  • [ @fileidhint= ] fileidhint
    Identifiziert einen Ordnungswert des wiederherzustellenden Sicherungssatzes. fileidhint ist vom Datentyp int und hat den Standardwert NULL.

  • [ @unload= ] unload
    Gibt an, ob ein Datensicherungsmedium nach Abschluss der Initialisierung von der Sicherung entladen werden soll. unload ist vom Datentyp bit. Der Standardwert ist 1. 1 gibt an, dass das Band entladen werden soll. unload wird nur verwendet, wenn backupdevicetype den Wert tape aufweist.

  • [ @subscriptionlsn= ] subscriptionlsn
    Gibt die Protokollfolgenummer (LSN, Log Sequence Number) an, bei der ein Abonnement beginnen soll, Änderungen an einen Knoten in einer Peer-zu-Peer-Transaktionsreplikationstopologie zu übermitteln. Wird mit dem Wert initialize from lsn für @sync\_type verwendet, um sicherzustellen, dass alle relevanten Transaktionen auf einem neuen Knoten repliziert werden. Weitere Informationen finden Sie unter Peer-zu-Peer-Transaktionsreplikation.

  • [ @subscriptionstreams= ] subscriptionstreams
    Die Anzahl zulässiger Verbindungen pro Verteilungs-Agent, um Änderungsbatches parallel auf einen Abonnenten anzuwenden, während viele Transaktionsmerkmale beibehalten werden, die bei Verwendung eines einzigen Threads vorhanden sind. subscriptionstreams ist vom Datentyp tinyint und hat den Standardwert NULL. Mögliche Werte zwischen 1 und 64 werden unterstützt. Dieser Parameter wird für Nicht-SQL Server-Abonnenten, Oracle-Verleger oder Peer-zu-Peer-Abonnements nicht unterstützt. Bei Verwendung von subscriptionstreams werden der msreplication_subscriptions-Tabelle zusätzliche Zeilen (eine pro Datenstrom) hinzugefügt, wobei die agent_id auf NULL festgelegt ist.

    HinweisHinweis

    subscriptionstreams kann nicht für Artikel verwendet werden, die für die Übermittlung von Transact-SQL konfiguriert sind. Um subscriptionstreams zu verwenden, konfigurieren Sie Artikel stattdessen für die Übermittlung von Aufrufen gespeicherter Prozeduren.

  • [ @subscriber\_type=\] subscriber_type
    Der Typ des Abonnenten. subscriber_type ist vom Datentyp tinyint. Die folgenden Werte sind möglich.

    Wert

    Beschreibung

    0 (Standard)

    SQL Server-Abonnent

    1

    ODBC-Datenquellenserver

    2

    Microsoft Jet-Datenbank

    3

    OLE DB-Anbieter

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_addsubscription wird bei der Momentaufnahme- und Transaktionsreplikation verwendet.

Wenn sp_addsubscription von einem Mitglied der festen Serverrolle sysadmin ausgeführt wird, um ein Pushabonnement zu erstellen, wird der Auftrag des Verteilungs-Agents implizit erstellt und unter dem Konto des SQL Server-Agent-Diensts ausgeführt. Es empfiehlt sich, sp_addpushsubscription_agent auszuführen und die Anmeldeinformationen eines anderen, Agent-spezifischen Windows-Kontos für @job\_login und @job\_password anzugeben Weitere Informationen finden Sie unter Sicherheitsmodell des Replikations-Agents.

sp_addsubscription hindert ODBC- und OLE DB-Abonnenten am Zugriff auf folgende Veröffentlichungen:

  • Veröffentlichungen, die durch einen Aufruf von sp_addpublication mit dem Wert native für sync_method erstellt wurden.

  • Veröffentlichungen, die Artikel enthalten, welche der Veröffentlichung mit der gespeicherten Prozedur sp_addarticle und dem Wert 3 (Abschneiden) für den pre_creation_cmd-Parameter hinzugefügt wurden.

  • Veröffentlichungen, die versuchen, update_mode auf sync tran festzulegen.

  • Veröffentlichungen, bei denen ein Artikel für die Verwendung parametrisierter Anweisungen konfiguriert ist.

Wenn für eine Veröffentlichung die Option allow_queued_tran auf true festgelegt ist (wodurch Änderungen auf dem Abonnenten in eine Warteschlange platziert werden, bis sie auf dem Verleger angewendet werden können), wird die timestamp-Spalte in einem Artikel als timestamp ausgegeben, und Änderungen an dieser Spalte werden an den Abonnenten gesendet. Der Abonnent generiert und aktualisiert den Wert der timestamp-Spalte. Für einen ODBC- oder OLE DB-Abonnenten meldet sp_addsubscription einen Fehler beim Abonnieren einer Veröffentlichung, für die allow_queued_tran auf true festgelegt ist, und die Artikel mit timestamp-Spalten enthält.

Wenn ein Abonnement kein DTS-Paket verwendet, kann es keine Veröffentlichung abonnieren, für die allow_transformable_subscriptions festgelegt ist. Wenn die Tabelle der Veröffentlichung für ein DTS-Abonnement und ein Nicht-DTS-Abonnement repliziert werden muss, müssen zwei separate Veröffentlichungen erstellt werden: eine für jeden Abonnementtyp.

Bei Auswahl der sync_type-Optionen replication support only, initialize with backup oder initialize from lsn muss der Protokolllese-Agent ausgeführt werden, nachdem sp_addsubscription ausgeführt wurde, damit die festgelegten Skripts in die Verteilungsdatenbank geschrieben werden. Der Protokolllese-Agent muss unter einem Konto ausgeführt werden, das Mitglied der festen Serverrolle sysadmin ist. Wenn die sync_type-Option auf Automatic festgelegt wird, sind keine speziellen Aktionen für den Protokollleser-Agent erforderlich.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_addsubscription ausführen. Für Pullabonnements können Benutzer, deren Anmeldename in der Veröffentlichungszugriffsliste eingetragen ist, sp_addsubscription ausführen.

Beispiel

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorks2012Replica';

--Add a push subscription to a transactional publication.
USE [AdventureWorks2012]
EXEC sp_addsubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @destination_db = @subscriptionDB, 
  @subscription_type = N'push';

--Add an agent job to synchronize the push subscription.
EXEC sp_addpushsubscription_agent 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

Siehe auch

Verweis

sp_addpushsubscription_agent (Transact-SQL)

sp_changesubstatus (Transact-SQL)

sp_dropsubscription (Transact-SQL)

sp_helpsubscription (Transact-SQL)

Gespeicherte Systemprozeduren (Transact-SQL)

Konzepte

Erstellen eines Pushabonnements

Erstellen eines Abonnements für einen Nicht-SQL Server-Abonnenten

Abonnieren von Veröffentlichungen