sp_addsubscription (Transact-SQL)sp_addsubscription (Transact-SQL)

Gilt für: JaSQL Server JaAzure SQL-Datenbank NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Fügt einer Veröffentlichung ein Abonnement hinzu und legt den Status des Abonnenten fest.Adds a subscription to a publication and sets the Subscriber status. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungs Datenbank ausgeführt.This stored procedure is executed at the Publisher on the publication database.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
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 ]  
    [ , [ @memory_optimized = ] memory_optimized ]  

ArgumenteArguments

[ @publication=] 'publication'[ @publication=] 'publication'
Der Name der Veröffentlichung.Is the name of the publication. Publication ist vom Datentyp vom Datentyp sysnameund hat keinen Standardwert.publication is sysname, with no default.

[ @article=] 'article'[ @article=] 'article'
Der Name des Artikels, für den die Veröffentlichung abonniert wird.Is the article to which the publication is subscribed. der Artikel ist vom Datentyp vom Datentyp sysnameund hat den Standardwert all.article is sysname, with a default of all. Wird all angegeben, wird allen Artikeln dieser Veröffentlichung ein Abonnement hinzugefügt.If all, a subscription is added to all articles in that publication. Nur die Werte all oder NULL werden für Oracle-Verleger unterstützt.Only values of all or NULL are supported for Oracle Publishers.

[ @subscriber=] 'subscriber'[ @subscriber=] 'subscriber'
Der Name des Abonnenten.Is the name of the Subscriber. Subscriber ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.subscriber is sysname, with a default of NULL.

[ @destination_db=] 'destination_db'[ @destination_db=] 'destination_db'
Der Name der Zieldatenbank, in der die replizierten Daten gespeichert werden sollen.Is the name of the destination database in which to place replicated data. destination_db ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.destination_db is sysname, with a default of NULL. Wenn der Wert NULL ist, wird destination_db auf den Namen der Veröffentlichungs Datenbank festgelegt.When NULL, destination_db is set to the name of the publication database. Bei Oracle-Verlegern muss destination_db angegeben werden.For Oracle Publishers, destination_db must be specified. Geben Sie für einen nicht-SQL Server Abonnenten den Wert (Standardziel) für destination_dban.For a non-SQL Server Subscriber, specify a value of (default destination) for destination_db.

[ @sync_type=] 'sync_type'[ @sync_type=] 'sync_type'
Der Synchronisierungstyp des Abonnements.Is the subscription synchronization type. sync_type ist vom Datentyp nvarchar (255) und kann einen der folgenden Werte aufweisen:sync_type is nvarchar(255), and can be one of the following values:

WertValue BeschreibungDescription
nonenone Der Abonnent besitzt bereits das Schema und die Ausgangsdaten für veröffentlichte Tabellen.Subscriber already has the schema and initial data for published tables.

Hinweis: Diese Option ist veraltet.Note: This option has been deprecated. Verwenden Sie stattdessen replication support only.Use replication support only instead.
automatic (Standard)automatic (default) Das Schema und die Ausgangsdaten für veröffentlichte Tabellen werden zuerst an den Abonnenten übertragen.Schema and initial data for published tables are transferred to the Subscriber first.
replication support onlyreplication 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.Provides automatic generation at the Subscriber of article custom stored procedures and triggers that support updating subscriptions, if appropriate. Setzt voraus, dass der Abonnent bereits über das Schema und die Anfangsdaten für veröffentlichte Tabellen verfügt.Assumes that the Subscriber already has the schema and initial data for published tables. Stellen Sie beim Konfigurieren einer Peer-zu-Peer-Transaktionsreplikationstopologie sicher, dass die Daten in allen Knoten der Topologie identisch sind.When configuring a peer-to-peer transactional replication topology, ensure that the data at all nodes in the topology is identical. Weitere Informationen finden Sie unter Peer-to-Peer Transactional Replication.For more information, see Peer-to-Peer Transactional Replication.

Wird nicht für Abonnements von nicht SQL Server Veröffentlichungen unterstützt.Not supported for subscriptions to non-SQL Server publications.
initialize with backupinitialize with backup Das Schema und die Ausgangsdaten für veröffentlichte Tabellen werden von einer Sicherung der Veröffentlichungsdatenbank abgerufen.Schema and initial data for published tables are obtained from a backup of the publication database. Es wird davon ausgegangen, dass der Abonnent über Zugriff auf eine Sicherung der Veröffentlichungsdatenbank verfügt.Assumes that the Subscriber has access to a backup of the publication database. Der Speicherort der Sicherung und der Medientyp für die Sicherung werden von backupdevicename und backupdevicetypeangegeben.The location of the backup and media type for the backup are specified by backupdevicename and backupdevicetype. Wenn Sie diese Option verwenden, muss eine Peer-zu-Peer-Transaktionsreplikationstopologie während der Konfiguration nicht deaktiviert werden.When using this option, a peer-to-peer transactional replication topology need not be quiesced during configuration.

Wird nicht für Abonnements von nicht SQL Server Veröffentlichungen unterstützt.Not supported for subscriptions to non-SQL Server publications.
initialize from lsninitialize from lsn Wird verwendet, wenn Sie einer Peer-zu-Peer-Transaktionsreplikationstopologie einen Knoten hinzufügen.Used when you are adding a node to a peer-to-peer transactional replication topology. Wird mit @subscriptionlsn verwendet, um sicherzustellen, dass alle relevanten Transaktionen auf den neuen Knoten repliziert werden.Used with @subscriptionlsn to make sure that all relevant transactions are replicated to the new node. Setzt voraus, dass der Abonnent bereits über das Schema und die Anfangsdaten für veröffentlichte Tabellen verfügt.Assumes that the Subscriber already has the schema and initial data for published tables. Weitere Informationen finden Sie unter Peer-to-Peer Transactional Replication.For more information, see Peer-to-Peer Transactional Replication.

Hinweis

Systemtabellen und Daten werden immer übertragen.System tables and data are always transferred.

[ @status=] 'status'[ @status=] 'status'
Der Abonnementstatus.Is the subscription status. der Status ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.status is sysname, with a default value of NULL. Wenn dieser Parameter nicht explizit festgelegt wird, wird er von der Replikation automatisch auf einen der folgenden Werte festgelegt.When this parameter is not explicitly set, replication automatically sets it to one of these values.

WertValue BeschreibungDescription
activeactive Das Abonnement wird initialisiert und ist bereit, Änderungen anzunehmen.Subscription is initialized and ready to accept changes. Diese Option wird festgelegt, wenn der Wert von sync_type auf None, initialisieren with Backup oder Replication Support Only festgelegt ist.This option is set when the value of sync_type is none, initialize with backup, or replication support only.
subscribedsubscribed Das Abonnement muss initialisiert werden.Subscription needs to be initialized. Diese Option wird festgelegt, wenn der Wert von sync_type auf Automatic festgelegt ist.This option is set when the value of sync_type is automatic.

[ @subscription_type=] 'subscription_type'[ @subscription_type=] 'subscription_type'
Der Abonnementtyp.Is the type of subscription. subscription_type ist vom Datentyp nvarchar (4) und hat den Standardwert Push.subscription_type is nvarchar(4), with a default of push. Mögliche Werte sind push und pull.Can be push or pull. Die Verteilungs-Agents von Pushabonnements befinden sich auf dem Verteiler, und die Verteilungs-Agents von Pullabonnements befinden sich auf dem Abonnenten.The Distribution Agents of push subscriptions reside at the Distributor, and the Distribution Agents of pull subscriptions reside at the Subscriber. subscription_type kann Pull sein, um ein benanntes Pullabonnement zu erstellen, das dem Verleger bekannt ist.subscription_type can be pull to create a named pull subscription that is known to the Publisher. Weitere Informationen finden Sie unter Abonnieren von Veröffentlichungen.For more information, see Subscribe to Publications.

Hinweis

Für anonyme Abonnements ist diese gespeicherte Prozedur nicht erforderlich.Anonymous subscriptions do not need to use this stored procedure.

[ @update_mode=] 'update_mode'[ @update_mode=] 'update_mode'
Der Typ des Updates. update_mode ist vom Datentyp nvarchar (30) . die folgenden Werte sind möglich:Is the type of update.update_mode is nvarchar(30), and can be one of these values.

WertValue BeschreibungDescription
read only (Standard)read only (default) Das Abonnement ist schreibgeschützt.The subscription is read-only. Änderungen am Abonnenten werden nicht an den Verleger gesendet.The changes at the Subscriber are not sent to the Publisher.
sync transync tran Aktiviert die Unterstützung für das sofortige Aktualisieren von Abonnements.Enables support for immediate updating subscriptions. Diese Option wird für Oracle-Verleger nicht unterstützt.Not supported for Oracle Publishers.
queued tranqueued tran Aktiviert das verzögerte Aktualisieren über eine Warteschlange für das Abonnement.Enables the subscription for queued updating. Daten können auf dem Abonnenten geändert werden; die Änderungen werden in einer Warteschlange gespeichert und an den Verleger weitergegeben.Data modifications can be made at the Subscriber, stored in a queue, and then propagated to the Publisher. Diese Option wird für Oracle-Verleger nicht unterstützt.Not supported for Oracle Publishers.
failoverfailover Aktiviert das sofortige Aktualisieren für das Abonnement, wobei als Failover das verzögerte Aktualisieren über eine Warteschlange verwendet wird.Enables the subscription for immediate updating with queued updating as a failover. Daten können auf dem Abonnenten geändert werden; die Änderungen werden sofort an den Verleger weitergegeben.Data modifications can be made at the Subscriber and propagated to the Publisher immediately. 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.If the Publisher and Subscriber are not connected, the updating mode can be changed so that data modifications made at the Subscriber are stored in a queue until the Subscriber and Publisher are reconnected. Diese Option wird für Oracle-Verleger nicht unterstützt.Not supported for Oracle Publishers.
queued failoverqueued failover Ermöglicht das Abonnement als Update über eine Warteschlange, mit der Möglichkeit des Wechsels zum sofortigen Updatemodus.Enables the subscription as a queued updating subscription with the ability to change to immediate updating mode. 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.Data modifications can be made at the Subscriber and stored in a queue until a connection is established between the Subscriber and Publisher. Wenn eine kontinuierliche Verbindung hergestellt wird, kann der Updatemodus in den sofortigen Updatemodus geändert werden.When a continuous connection is established the updating mode can be changed to immediate updating. Diese Option wird für Oracle-Verleger nicht unterstützt.Not supported for Oracle Publishers.

Beachten Sie, dass die Werte synctran und Warteschlange Tran nicht zulässig sind, wenn die abonnierte Veröffentlichung DTS zulässt.Note that the values synctran and queued tran are not allowed if the publication being subscribed to allows DTS.

[ @loopback_detection=] 'loopback_detection'[ @loopback_detection=] 'loopback_detection'
Gibt an, ob der Verteilungs-Agent Transaktionen, die vom Abonnenten stammen, zurück an den Abonnenten sendet.Specifies if the Distribution Agent sends transactions that originated at the Subscriber back to the Subscriber. loopback_detection ist vom Datentyp nvarchar (5) . die folgenden Werte sind möglich:loopback_detection is nvarchar(5), and can be one of these values.

WertValue BeschreibungDescription
truetrue Der Verteilungs-Agent sendet Transaktionen des Abonnenten nicht an den Abonnenten zurück.Distribution Agent does not send transactions originated at the Subscriber back to the Subscriber. Wird bei der bidirektionalen Transaktionsreplikation verwendet.Used with bidirectional transactional replication. Weitere Informationen finden Sie unter Bidirectional Transactional Replication.For more information, see Bidirectional Transactional Replication.
falsefalse Der Verteilungs-Agent sendet Transaktionen des Abonnenten an den Abonnenten zurück.Distribution Agent sends transactions that originated at the Subscriber back to the Subscriber.
NULL (Standard)NULL (default) Wird für einen SQL ServerSQL Server-Abonnenten automatisch auf true und für einen Nicht-SQL ServerSQL Server-Abonnenten auf false festgelegt.Automatically set to true for a SQL ServerSQL Server Subscriber and false for a non-SQL ServerSQL Server Subscriber.

[ @frequency_type=] frequency_type[ @frequency_type=] frequency_type
Die Häufigkeit für die Zeitplanung des Verteilungstasks.Is the frequency with which to schedule the distribution task. frequency_type ist vom Datentyp int und kann einen der folgenden Werte aufweisen.frequency_type is int, and can be one of these values.

WertValue BeschreibungDescription
11 EinmalOne time
22 BedarfsgesteuertOn demand
44 TäglichDaily
88 Wöchentlicher ZeitplanWeekly
1616 Monatlicher ZeitplanMonthly
3232 Monatlich, relativMonthly relative
64 (Standard)64 (default) AutostartAutostart
128128 WiederholtRecurring

[ @frequency_interval=] frequency_interval[ @frequency_interval=] frequency_interval
Der Wert, der auf die von frequency_typefestgelegte Häufigkeit angewendet werden soll.Is the value to apply to the frequency set by frequency_type. frequency_interval ist vom Datentyp intund hat den Standardwert NULL.frequency_interval is int, with a default of NULL.

[ @frequency_relative_interval=] frequency_relative_interval[ @frequency_relative_interval=] frequency_relative_interval
Das Datum des Verteilungs-Agents.Is the date of the Distribution Agent. Dieser Parameter wird verwendet, wenn frequency_type auf 32 (monatlich, relativ) festgelegt ist.This parameter is used when frequency_type is set to 32 (monthly relative). frequency_relative_interval ist vom Datentyp intund kann einen der folgenden Werte aufweisen.frequency_relative_interval is int, and can be one of these values.

WertValue BeschreibungDescription
11 ErsterFirst
22 ZweimalSecond
44 DritterThird
88 VierterFourth
1616 LetzterLast
NULL (Standard)NULL (default)

[ @frequency_recurrence_factor=] frequency_recurrence_factor[ @frequency_recurrence_factor=] frequency_recurrence_factor
Der von frequency_typeverwendete Wiederholungs Faktor.Is the recurrence factor used by frequency_type. frequency_recurrence_factor ist vom Datentyp intund hat den Standardwert NULL.frequency_recurrence_factor is int, with a default of NULL.

[ @frequency_subday=] frequency_subday[ @frequency_subday=] frequency_subday
Die Häufigkeit (in Minuten) für die erneute geplante Ausführung während des definierten Zeitraums.Is how often, in minutes, to reschedule during the defined period. frequency_subday ist vom Datentyp intund kann einen der folgenden Werte aufweisen.frequency_subday is int, and can be one of these values.

WertValue BeschreibungDescription
11 EinmalOnce
22 ZweimalSecond
44 MinuteMinute
88 HourHour
NULLNULL

[ @frequency_subday_interval=] frequency_subday_interval[ @frequency_subday_interval=] frequency_subday_interval
Das Intervall für frequency_subday.Is the interval for frequency_subday. frequency_subday_interval ist vom Datentyp intund hat den Standardwert NULL.frequency_subday_interval is int, with a default of NULL.

[ @active_start_time_of_day=] active_start_time_of_day[ @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.Is the time of day when the Distribution Agent is first scheduled, formatted as HHMMSS. active_start_time_of_day ist vom Datentyp intund hat den Standardwert NULL.active_start_time_of_day is int, with a default of NULL.

[ @active_end_time_of_day=] active_end_time_of_day[ @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.Is the time of day when the Distribution Agent stops being scheduled, formatted as HHMMSS. active_end_time_of_day ist vom Datentyp intund hat den Standardwert NULL.active_end_time_of_day is int, with a default of NULL.

[ @active_start_date=] active_start_date[ @active_start_date=] active_start_date
Das Datum, an dem der Verteilungs-Agent zum ersten Mal geplant ist. Dabei wird das Format JJJJMMTT verwendet.Is the date when the Distribution Agent is first scheduled, formatted as YYYYMMDD. active_start_date ist vom Datentyp intund hat den Standardwert NULL.active_start_date is int, with a default of NULL.

[ @active_end_date=] active_end_date[ @active_end_date=] active_end_date
Das Datum, ab dem der Verteilungs-Agent nicht mehr geplant ist. Dabei wird das Format JJJJMMTT verwendet.Is the date when the Distribution Agent stops being scheduled, formatted as YYYYMMDD. active_end_date ist vom Datentyp intund hat den Standardwert NULL.active_end_date is int, with a default of NULL.

[ @optional_command_line=] 'optional_command_line'[ @optional_command_line=] 'optional_command_line'
Die optional auszuführende Befehlszeile.Is the optional command prompt to execute. optional_command_line ist vom Datentyp nvarchar (4000) und hat den Standardwert NULL.optional_command_line is nvarchar(4000), with a default of NULL.

[ @reserved=] 'reserved'[ @reserved=] 'reserved'

Nur für Informationszwecke identifiziert.Identified for informational purposes only. Wird nicht unterstützt.Not supported. Zukünftige Kompatibilität wird nicht sichergestellt.Future compatibility is not guaranteed.

[ @enabled_for_syncmgr=] 'enabled_for_syncmgr'[ @enabled_for_syncmgr=] 'enabled_for_syncmgr'
Gibt an, ob das Abonnement über MicrosoftMicrosoft die Synchronisierungs Verwaltung von Windows synchronisiert werden kann.Is whether the subscription can be synchronized through MicrosoftMicrosoft Windows Synchronization Manager. enabled_for_syncmgr ist vom Datentyp nvarchar (5) und hat den Standardwert false.enabled_for_syncmgr is nvarchar(5), with a default of FALSE. Mit FALSE wird das Abonnement nicht bei der Windows-Synchronisierungsverwaltung registriert.If false, the subscription is not registered with Windows Synchronization Manager. Mit TRUE wird das Abonnement bei der Windows-Synchronisierungsverwaltung registriert und kann synchronisiert werden, ohne SQL Server Management StudioSQL Server Management Studio zu starten.If true, the subscription is registered with Windows Synchronization Manager and can be synchronized without starting SQL Server Management StudioSQL Server Management Studio. Diese Option wird für Oracle-Verleger nicht unterstützt.Not supported for Oracle Publishers.

[ @offloadagent=] 'remote_agent_activation'[ @offloadagent= ] 'remote_agent_activation'
Gibt an, dass eine Remoteaktivierung der Momentaufnahme möglich ist.Specifies that the agent can be activated remotely. remote_agent_activation ist vom Typ Bit und hat den Standardwert 0.remote_agent_activation is bit with a default of 0.

Hinweis

Dieser Parameter wurde als veraltet markiert und wird nur noch bereitgestellt, um Abwärtskompatibilität von Skripts sicherzustellen.This parameter has been deprecated and is only maintained for backward compatibility of scripts.

[ @offloadserver=] 'remote_agent_server_name'[ @offloadserver= ] 'remote_agent_server_name'
Gibt den Netzwerknamen des Servers an, der für die Remoteaktivierung verwendet werden soll.Specifies the network name of server to be used for remote activation. remote_agent_server_nameist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.remote_agent_server_nameis sysname, with a default of NULL.

[ @dts_package_name=] 'dts_package_name'[ @dts_package_name= ] 'dts_package_name'
Gibt den Namen des DTS-Pakets (Data Transformation Services) an.Specifies the name of the Data Transformation Services (DTS) package. dts_package_name ist vom Datentyp vom Datentyp sysname und hat den Standardwert NULL.dts_package_name is a sysname with a default of NULL. Um z. B. ein Paket namens DTSPub_Package anzugeben, wird der Parameter @dts_package_name = N'DTSPub_Package' verwendet.For example, to specify a package of DTSPub_Package, the parameter would be @dts_package_name = N'DTSPub_Package'. Dieser Parameter ist für Pushabonnements verfügbar.This parameter is available for push subscriptions. Verwenden Sie sp_addpullsubscription_agent, um einem Pullabonnement DTS-Paketinformationen hinzuzufügen.To add DTS package information to a pull subscription, use sp_addpullsubscription_agent.

[ @dts_package_password=] 'dts_package_password'[ @dts_package_password= ] 'dts_package_password'
Gibt gegebenenfalls das Kennwort des Pakets an.Specifies the password on the package, if there is one. dts_package_password ist vom Datentyp vom Datentyp sysname und hat den Standardwert NULL.dts_package_password is sysname with a default of NULL.

Hinweis

Sie müssen ein Kennwort angeben, wenn dts_package_name angegeben wird.You must specify a password if dts_package_name is specified.

[ @dts_package_location=] 'dts_package_location'[ @dts_package_location= ] 'dts_package_location'
Gibt den Paketspeicherort an.Specifies the package location. dts_package_location ist vom Datentyp nvarchar (12) und hat den Standardwert Distributor.dts_package_location is a nvarchar(12), with a default of DISTRIBUTOR. Der Speicherort des Pakets kann distributor oder subscriber sein.The location of the package can be distributor or subscriber.

[ @distribution_job_name=] 'distribution_job_name'[ @distribution_job_name= ] 'distribution_job_name'

Nur für Informationszwecke identifiziert.Identified for informational purposes only. Wird nicht unterstützt.Not supported. Zukünftige Kompatibilität wird nicht sichergestellt.Future compatibility is not guaranteed.

[ @publisher= ] 'publisher'[ @publisher= ] 'publisher'
Gibt einen nicht- MicrosoftMicrosoft - SQL ServerSQL Server Verleger an.Specifies a non- MicrosoftMicrosoft SQL ServerSQL Server Publisher. Publisher ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.publisher is sysname, with a default of NULL.

Hinweis

der Verleger darf nicht für einen SQL ServerSQL Server Verleger angegeben werden.publisher should not be specified for a SQL ServerSQL Server Publisher.

[ @backupdevicetype=] 'backupabvicetype'[ @backupdevicetype= ] 'backupdevicetype'
Gibt den Sicherungsmedientyp an, der beim Initialisieren eines Abonnenten von einer Sicherung verwendet wird.Specifies the type of backup device used when initializing a Subscriber from a backup. backupabvicetype ist vom Datentyp nvarchar (20) . die folgenden Werte sind möglich:backupdevicetype is nvarchar(20), and can be one of these values:

WertValue BeschreibungDescription
logical (Standard)logical (default) Das Sicherungsmedium ist ein logisches Medium.The backup device is a logical device.
diskdisk Das Sicherungsmedium ist ein Laufwerk.The backup device is disk drive.
tapetape Das Sicherungsmedium ist ein Bandlaufwerk.The backup device is a tape drive

backupabvicetype wird nur verwendet, wenn sync_methodauf initialize_with_backup festgelegt ist.backupdevicetype is only used when sync_methodis set to initialize_with_backup.

[ @backupdevicename= ] 'backupdevicename'[ @backupdevicename= ] 'backupdevicename'
Gibt den Namen des Sicherungsmediums an, das beim Initialisieren eines Abonnenten von einer Sicherung verwendet wird.Specifies the name of the device used when initializing a Subscriber from a backup. backupdevicename ist vom Datentyp nvarchar (1000) und hat den Standardwert NULL.backupdevicename is nvarchar(1000), with a default of NULL.

[ @mediapassword= ] 'mediapassword'[ @mediapassword= ] 'mediapassword'
Gibt ein Kennwort für den Mediensatz an, falls beim Formatieren des Mediums ein Kennwort festgelegt wurde.Specifies a password for the media set if a password was set when the media was formatted. Media Password ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.mediapassword is sysname, with a default value of NULL.

Hinweis

Dieses Feature befindet sich im Wartungsmodus und wird möglicherweise in einer künftigen Version von Microsoft SQL Server entfernt.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

[ @password=] 'Kennwort'[ @password= ] 'password'
Gibt ein Kennwort für die Sicherung an, falls beim Erstellen der Sicherung ein Kennwort festgelegt wurde.Specifies a password for the backup if a password was set when the backup was created. Passwordist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.passwordis sysname, with a default value of NULL.

[ @fileidhint= ] fileidhint[ @fileidhint= ] fileidhint
Identifiziert einen Ordnungswert des wiederherzustellenden Sicherungssatzes.Identifies an ordinal value of the backup set to be restored. der " fleidhint " ist vom Datentyp intund hat den Standardwert NULL.fileidhint is int, with a default value of NULL.

[ @unload= ] unload[ @unload= ] unload
Gibt an, ob ein Datensicherungsmedium nach Abschluss der Initialisierung von der Sicherung entladen werden soll.Specifies if a tape backup device should be unloaded after the initialization from back is complete. entladen ist vom Typ Bitund hat den Standardwert 1.unload is bit, with a default value of 1. der Wert 1 gibt an, dass das Band entladen werden soll.1 specifies that the tape should be unloaded. Das entladen wird nur dann verwendet, wenn backupabvicetype ein Band ist.unload is only used when backupdevicetype is tape.

[ @subscriptionlsn= ] subscriptionlsn[ @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.Specifies the log sequence number (LSN) at which a subscription should start delivering changes to a node in a peer-to-peer transactional replication topology. Wird mit dem @sync_type Wert initialisieren from LSN verwendet, um sicherzustellen, dass alle relevanten Transaktionen auf einem neuen Knoten repliziert werden.Used with a @sync_type value of initialize from lsn to make sure that all relevant transactions are replicated to a new node. Weitere Informationen finden Sie unter Peer-to-Peer Transactional Replication.For more information, see Peer-to-Peer Transactional Replication.

[ @subscriptionstreams= ] subscriptionstreams[ @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.Is the number of connections allowed per Distribution Agent to apply batches of changes in parallel to a Subscriber, while maintaining many of the transactional characteristics present when using a single thread. " Abonnement Ströme " ist vom Datentyp tinyintund hat den Standardwert NULL.subscriptionstreams is tinyint, with a default value of NULL. Mögliche Werte zwischen 1 und 64 werden unterstützt.A range of values from 1 to 64 is supported. Dieser Parameter wird für nicht-- SQL ServerSQL Server Abonnenten, Oracle-Verleger oder Peer-zu-Peer-Abonnements nicht unterstützt.This parameter is not supported for non- SQL ServerSQL Server Subscribers, Oracle Publishers or peer-to-peer subscriptions. 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.Whenever subscription streams is used additional rows are added in the msreplication_subscriptions table (1 per stream) with an agent_id set to NULL.

Hinweis

subscriptionstreams Transact-SQLTransact-SQLkann nicht für Artikel verwendet werden, die für die Übermittlung von konfiguriert sind.Subscriptionstreams do not work for articles configured to deliver Transact-SQLTransact-SQL. Um subscriptionstreams zu verwenden, konfigurieren Sie Artikel stattdessen für die Übermittlung von Aufrufen gespeicherter Prozeduren.To use subscriptionstreams, configure articles to deliver stored procedure calls instead.

[ @subscriber_type=] subscriber_type[ @subscriber_type=] subscriber_type
Der Typ des Abonnenten.Is the type of Subscriber. subscriber_type ist vom Datentyp tinyint. die folgenden Werte sind möglich.subscriber_type is tinyint, and can be one of these values.

WertValue BeschreibungDescription
0 (Standard)0 (default) SQL ServerSQL ServerAbonnentenSubscriber
11 ODBC-DatenquellenserverODBC data source server
22 MicrosoftMicrosoft Jet-DatenbankJet database
33 OLE DB-AnbieterOLE DB provider

[ @memory_optimized=] memory_optimized[ @memory_optimized=] memory_optimized
Gibt an, dass das Abonnement Speicher optimierte Tabellen unterstützt.Indicates that the subscription supports memory optimized tables. memory_optimized ist vom Typ Bit, wobei 1 true ist (das Abonnement unterstützt Speicher optimierte Tabellen).memory_optimized is bit, where 1 equals true (the subscription supports memory optimized tables).

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

HinweiseRemarks

sp_addsubscription wird bei der Momentaufnahme- und Transaktionsreplikation verwendet.sp_addsubscription is used in snapshot replication and transactional replication.

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.When sp_addsubscription is executed by a member of the sysadmin fixed server role to create a push subscription, the Distribution Agent job is implicitly created and runs under the SQL Server Agent service account. Es wird empfohlen, sp_addpushsubscription_agent auszuführen und die Anmelde Informationen eines anderen, agentspezifischen Windows-Kontos für @job_login und @job_passwordanzugeben.We recommend that you execute sp_addpushsubscription_agent and specify the credentials of a different, agent-specific Windows account for @job_login and @job_password. Weitere Informationen finden Sie unter Replication Agent Security Model.For more information, see Replication Agent Security Model.

sp_addsubscription hindert ODBC- und OLE DB-Abonnenten am Zugriff auf folgende Veröffentlichungen:sp_addsubscription prevents ODBC and OLE DB Subscribers access to publications that:

  • Wurden mit dem systemeigenen sync_method im-Befehl von sp_addpublicationerstellt.Were created with the native sync_method in the call to sp_addpublication.

  • Enthalten Artikel, die der Veröffentlichung mit der gespeicherten Prozedur sp_addarticle hinzugefügt wurden, die den pre_creation_cmd -Parameterwert 3 (TRUNCATE) enthielt.Contain articles that were added to the publication with the sp_addarticle stored procedure that had a pre_creation_cmd parameter value of 3 (truncate).

  • Es wurde versucht, update_mode auf Sync Tran festzulegen.Attempt to set update_mode to sync tran.

  • Veröffentlichungen, bei denen ein Artikel für die Verwendung parametrisierter Anweisungen konfiguriert ist.Have an article configured to use parameterized statements.

Wenn für eine Veröffentlichung die Option allow_queued_tran auf true festgelegt ist (wodurch Änderungen auf dem Abonnenten in die Warteschlange eingereiht werden können, bis Sie auf dem Verleger angewendet werden können), wird für die Zeitstempel-Spalte in einem Artikel als Zeitstempelein Skript erstellt. Änderungen an dieser Spalte werden an den Abonnenten gesendet.In addition, if a publication has the allow_queued_tran option set to true (which enables queuing of changes at the Subscriber until they can be applied at the Publisher), the timestamp column in an article is scripted out as timestamp, and changes on that column are sent to the Subscriber. Der Abonnent generiert und aktualisiert den Wert der timestamp-Spalte.The Subscriber generates and updates the timestamp column value. Bei einem ODBC-oder OLE DB Abonnenten schlägt sp_addsubscription fehl, wenn versucht wird, eine Veröffentlichung zu abonnieren, bei der allow_queued_tran auf true festgelegt ist, sowie Artikel mit Zeitstempel-Spalten darin.For an ODBC or OLE DB Subscriber, sp_addsubscription fails if an attempt is made to subscribe to a publication that has allow_queued_tran set to true and articles with timestamp columns in it.

Wenn ein Abonnement kein DTS-Paket verwendet, kann es keine Veröffentlichung abonnieren, die auf allow_transformable_subscriptionsfestgelegt ist.If a subscription does not use a DTS package, it cannot subscribe to a publication that is set to allow_transformable_subscriptions. 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.If the table from the publication needs to be replicated to both a DTS subscription and non-DTS subscription, two separate publications have to be created: one for each type of subscription.

Bei Auswahl der sync_type -Optionen replication support only, initialize with backupoder initialize from lsnmuss der Protokolllese-Agent ausgeführt werden, nachdem sp_addsubscriptionausgeführt wurde, damit die festgelegten Skripts in die Verteilungsdatenbank geschrieben werden.When selecting the sync_type options replication support only, initialize with backup, or initialize from lsn, the log reader agent must run after executing sp_addsubscription, so that the set-up scripts are written to the distribution database. Der Protokolllese-Agent muss unter einem Konto ausgeführt werden, das Mitglied der festen Serverrolle sysadmin ist.The log reader agent must be running under an account that is a member of the sysadmin fixed server role. Wenn die sync_type -Option auf Automaticfestgelegt wird, sind keine speziellen Aktionen für den Protokollleser-Agent erforderlich.When the sync_type option is set to Automatic, no special log reader agent actions are required.

BerechtigungenPermissions

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_addsubscription ausführen.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addsubscription. Für Pullabonnements können Benutzer, deren Anmeldename in der Veröffentlichungszugriffsliste eingetragen ist, sp_addsubscription ausführen.For pull subscriptions, users with logins in the publication access list can execute sp_addsubscription.

BeispielExample

-- 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 auchSee Also

Create a Push Subscription Create a Push Subscription
Erstellen eines Abonnements für einen Nicht-SQL Server-Abonnenten Create a Subscription for a Non-SQL Server Subscriber
Abonnieren von Veröffentlichungen Subscribe to Publications
sp_addpushsubscription_agent (Transact-SQL) sp_addpushsubscription_agent (Transact-SQL)
sp_changesubstatus (Transact-SQL) sp_changesubstatus (Transact-SQL)
sp_dropsubscription (Transact-SQL) sp_dropsubscription (Transact-SQL)
sp_helpsubscription (Transact-SQL) sp_helpsubscription (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)System Stored Procedures (Transact-SQL)