sp_addpullsubscription (Transact-SQL)sp_addpullsubscription (Transact-SQL)

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

Fügt ein Pullabonnement einer Momentaufnahmen- oder Transaktionsveröffentlichung hinzu.Adds a pull subscription to a snapshot or transactional publication. Diese gespeicherte Prozedur wird auf dem Abonnenten für die Datenbank ausgeführt, für die das Pullabonnement erstellt werden soll.This stored procedure is executed at the Subscriber on the database where the pull subscription is to be created.

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

SyntaxSyntax

  
sp_addpullsubscription [ @publisher= ] 'publisher'  
    [ , [ @publisher_db= ] 'publisher_db' ]  
        , [ @publication= ] 'publication'  
    [ , [ @independent_agent= ] 'independent_agent' ]  
    [ , [ @subscription_type= ] 'subscription_type' ]  
    [ , [ @description= ] 'description' ]  
    [ , [ @update_mode= ] 'update_mode' ]  
    [ , [ @immediate_sync = ] immediate_sync ]  

ArgumenteArguments

[ @publisher = ] 'publisher'Der Name des Verlegers.[ @publisher = ] 'publisher' Is the name of the Publisher. Publisher ist vom Datentyp vom Datentyp sysnameund hat keinen Standardwert.publisher is sysname, with no default.

[ @publisher_db = ] 'publisher_db'Der Name der Verleger Datenbank.[ @publisher_db = ] 'publisher_db' Is the name of the Publisher database. publisher_db ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.publisher_db is sysname, with a default of NULL. publisher_db wird von Oracle-Verlegern ignoriert.publisher_db is ignored by Oracle Publishers.

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

[ @independent_agent = ] 'independent_agent'Gibt an, ob eine eigenständige Verteilungs-Agent für diese Veröffentlichung vorhanden ist.[ @independent_agent = ] 'independent_agent' Specifies if there is a stand-alone Distribution Agent for this publication. independent_agent ist vom Datentyp nvarchar (5) und hat den Standardwert true.independent_agent is nvarchar(5), with a default of TRUE. Truegibt an, dass eine eigenständige Verteilungs-Agent für diese Veröffentlichung vorhanden ist.If true, there is a stand-alone Distribution Agent for this publication. Wenn der Wert falseist, gibt es für jedes Paar aus Verleger Datenbank und Abonnenten Datenbank eine Verteilungs-Agent.If false, there is one Distribution Agent for each Publisher database/Subscriber database pair. independent_agent ist eine Eigenschaft der Veröffentlichung und muss hier denselben Wert wie auf dem Verleger haben.independent_agent is a property of the publication and must have the same value here as it has at the Publisher.

[ @subscription_type = ] 'subscription_type'Der Abonnementtyp.[ @subscription_type = ] 'subscription_type' Is the type of subscription. subscription_type ist vom Datentyp nvarchar (9) und hat den Standardwert Anonymous.subscription_type is nvarchar(9), with a default of anonymous. Sie müssen den Wert Pull für subscription_typeangeben, es sei denn, Sie möchten ein Abonnement erstellen, ohne das Abonnement auf dem Verleger zu registrieren.You must specify a value of pull for subscription_type, unless you want to create a subscription without registering the subscription at the Publisher. In diesem Fall müssen Sie den Wert Anonymangeben.In this case, you must specify a value of anonymous. Dies ist notwendig für Fälle, in denen Sie während der Abonnementkonfiguration keine SQL ServerSQL Server-Verbindung mit dem Verleger herstellen können.This is necessary for cases in which you cannot establish a SQL ServerSQL Server connection to the Publisher during subscription configuration.

[ @description = ] 'description'Die Beschreibung der Veröffentlichung.[ @description = ] 'description' Is the description of the publication. die Beschreibung ist vom Datentyp nvarchar (100) und hat den Standardwert NULL.description is nvarchar(100), with a default of NULL.

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

WertValue BeschreibungDescription
schreibgeschützt vorgegebeneread only (default) Das Abonnement ist schreibgeschützt.The subscription is read-only. Änderungen am Abonnenten werden nicht an den Verleger zurückgesendet.Any changes at the Subscriber will not be sent back to the Publisher. Sollte verwendet werden, wenn Updates nicht auf dem Abonnenten vorgenommen werden.Should be used when updates will not be made at the Subscriber.
synctransynctran Aktiviert die Unterstützung für das sofortige Aktualisieren von Abonnements.Enables support for immediate updating subscriptions.
in Warteschlange eingereihtqueued 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.
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, können 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, data modifications made at the Subscriber can be stored in a queue until the Subscriber and Publisher are reconnected.
Warteschlangen 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. Wird für Oracle-Verleger nicht unterstützt.Not supported for Oracle Publishers.

[ @immediate_sync = ] immediate_syncGibt an, ob die Synchronisierungs Dateien bei jeder Ausführung des Momentaufnahmen-Agent erstellt oder neu erstellt werden.[ @immediate_sync = ] immediate_sync Is whether the synchronization files are created or re-created each time the Snapshot Agent runs. immediate_sync ist vom Typ Bit mit dem Standardwert 1 und muss auf denselben Wert wie immediate_sync in sp_addpublicationfestgelegt werden. immediate_sync ist eine Eigenschaft der Veröffentlichung und muss hier denselben Wert wie auf dem Verleger haben.immediate_sync is bit with a default of 1, and must be set to the same value as immediate_sync in sp_addpublication.immediate_sync is a property of the publication and must have the same value here as it has at the Publisher.

RückgabecodewerteReturn Code Values

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

HinweiseRemarks

sp_addpullsubscription wird bei der Momentaufnahme-und Transaktions Replikation verwendet.sp_addpullsubscription is used in snapshot replication and transactional replication.

Wichtig

Bei Abonnements mit verzögertem Update über eine Warteschlange verwenden Sie die SQL ServerSQL Server-Authentifizierung für Verbindungen mit Abonnenten. Geben Sie für die Verbindung zu den einzelnen Abonnenten jeweils ein anderes Konto an.For queued updating subscriptions, use SQL ServerSQL Server Authentication for connections to Subscribers, and specify a different account for the connection to each Subscriber. Beim Erstellen eines Pullabonnements, das verzögerte Updates über eine Warteschlange unterstützt, legt die Replikation immer die Verwendung der Windows-Authentifizierung für die Verbindung fest (für Pullabonnements kann die Replikation nicht auf Metadaten beim Abonnenten zugreifen, die für die Verwendung der SQL ServerSQL Server-Authentifizierung erforderlich sind).When creating a pull subscription that supports queued updating, replication always sets the connection to use Windows Authentication (for pull subscriptions, replication cannot access metadata at the Subscriber required to use SQL ServerSQL Server Authentication). In diesem Fall sollten Sie sp_changesubscription ausführen, um die Verbindung nach dem konfigurieren SQL ServerSQL Server des Abonnements für die Verwendung der Authentifizierung zu ändern.In this case, you should execute sp_changesubscription to change the connection to use SQL ServerSQL Server Authentication after the subscription is configured.

Wenn die MSreplication_subscriptions (-Transact-) SQL- Tabelle nicht auf dem Abonnenten vorhanden ist, wird Sie von sp_addpullsubscription erstellt.If the MSreplication_subscriptions (Transact-SQL) table does not exist at the Subscriber, sp_addpullsubscription creates it. Außerdem wird der MSreplication_subscriptions (-Transact-SQL) - Tabelle eine Zeile hinzugefügt.It also adds a row to the MSreplication_subscriptions (Transact-SQL) table. Für Pullabonnements sollte sp_addsubscription (Transact-SQL) zuerst auf dem Verleger aufgerufen werden.For pull subscriptions, sp_addsubscription (Transact-SQL) should be called at the Publisher first.

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".

-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2012';

-- At the subscription database, create a pull subscription 
-- to a transactional publication.
USE [AdventureWorks2012Replica]
EXEC sp_addpullsubscription 
  @publisher = @publisher, 
  @publication = @publication, 
  @publisher_db = @publicationDB;

-- Add an agent job to synchronize the pull subscription.
EXEC sp_addpullsubscription_agent 
  @publisher = @publisher, 
  @publisher_db = @publicationDB, 
  @publication = @publication, 
  @distributor = @publisher, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

BerechtigungenPermissions

Nur Mitglieder der festen Server Rolle sysadmin oder der festen Daten Bank Rolle db_owner können sp_addpullsubscriptionausführen.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addpullsubscription.

Siehe auchSee Also

Erstellen eines Pullabonnements Create a Pull Subscription
Erstellen eines aktualisierbaren Abonnements für eine Transaktions Veröffentlichung Abonnieren von Veröffentlichungen Create an Updatable Subscription to a Transactional Publication Subscribe to Publications
sp_addpullsubscription_agent (Transact-SQL) sp_addpullsubscription_agent (Transact-SQL)
sp_change_subscription_properties (Transact-SQL) sp_change_subscription_properties (Transact-SQL)
sp_droppullsubscription (Transact-SQL) sp_droppullsubscription (Transact-SQL)
sp_helppullsubscription ((Transact-SQL)) sp_helppullsubscription (Transact-SQL)
sp_helpsubscription_properties (Transact-SQL) sp_helpsubscription_properties (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)System Stored Procedures (Transact-SQL)