sp_addmergepullsubscription (Transact-SQL)sp_addmergepullsubscription (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 zu einer Mergeveröffentlichung hinzu.Adds a pull subscription to a merge publication. Diese gespeicherte Prozedur wird auf dem Abonnenten für die Abonnement Datenbank ausgeführt.This stored procedure is executed at the Subscriber on the subscription database.

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

SyntaxSyntax

  
sp_addmergepullsubscription [ @publication= ] 'publication'   
    [ , [ @publisher= ] 'publisher' ]   
    [ , [ @publisher_db = ] 'publisher_db' ]   
    [ , [ @subscriber_type= ] 'subscriber_type' ]   
    [ , [ @subscription_priority= ] subscription_priority ]   
    [ , [ @sync_type= ] 'sync_type' ]   
    [ , [ @description= ] 'description' ]  

ArgumenteArguments

[ @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.

[ @publisher = ] 'publisher'Der Name des Verlegers.[ @publisher = ] 'publisher' Is the name of the Publisher. Publisher ist vom Datentyp vom Datentyp sysname. der Standardwert ist der Name des lokalen Servers.Publisher is sysname, with a default of the local server name. Der Verleger muss ein gültiger Server sein.The Publisher must be a valid server.

[ @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.

[ @subscriber_type = ] 'subscriber_type'Der Typ des Abonnenten.[ @subscriber_type = ] 'subscriber_type' Is the type of Subscriber. subscriber_type ist vom Datentyp nvarchar (15) und kann Global, local oder Anonymoussein.subscriber_type is nvarchar(15), and can be global, local or anonymous. In SQL Server 2005 (9.x)SQL Server 2005 (9.x) und höheren Versionen werden lokale Abonnements als Client Abonnements und globale Abonnements als Server Abonnements bezeichnet.In SQL Server 2005 (9.x)SQL Server 2005 (9.x) and later versions, local subscriptions are referred to as client subscriptions and global subscriptions are referred to as server subscriptions.

[ @subscription_priority = ] subscription_priorityDie Abonnement Priorität.[ @subscription_priority = ] subscription_priority Is the subscription priority. subscription_priorityist vom Typ Realund hat den Standardwert NULL.subscription_priorityis real, with a default of NULL. Für lokale und anonyme Abonnements ist die Priorität 0,0.For local and anonymous subscriptions, the priority is 0.0. Die Priorität wird vom Standardresolver verwendet, um einen Gewinner zu ermitteln, wenn Konflikte erkannt werden.The priority is used by the default resolver to pick a winner when conflicts are detected. Für globale Abonnenten muss die Abonnementpriorität kleiner als 100 sein. Dieser Wert gibt die Priorität des Verlegers an.For global subscribers, the subscription priority must be less than 100, which is the priority of the publisher.

[ @sync_type = ] 'sync_type'Der Synchronisierungstyp des Abonnements.[ @sync_type = ] 'sync_type' Is the subscription synchronization type. sync_typeist vom Datentyp nvarchar (15) . der Standardwert ist automatisch.sync_typeis nvarchar(15), with a default of automatic. Kann " Automatic " oder " None" sein.Can be automatic or none. Wenn automatisch, werden das Schema und die Anfangsdaten für veröffentlichte Tabellen zuerst an den Abonnenten übertragen.If automatic, the schema and initial data for published tables are transferred to the Subscriber first. Wenn keinervorhanden ist, wird davon ausgegangen, dass der Abonnent bereits über das Schema und die Anfangsdaten für veröffentlichte Tabellen verfügt.If none, it is assumed the Subscriber already has the schema and initial data for published tables. Systemtabellen und Daten werden immer übertragen.System tables and data are always transferred.

Hinweis

Es wird nicht empfohlen, den Wert " None" anzugeben.We do not recommend specifying a value of none.

[ @description = ] 'description'Eine kurze Beschreibung dieses Pullabonnements.[ @description = ] 'description' Is a brief description of this pull subscription. die Beschreibungist vom Datentyp nvarchar (255) und hat den Standardwert NULL.descriptionis nvarchar(255), with a default of NULL. Dieser Wert wird vom Replikations Monitor in der Spalte Anzeige Name angezeigt, der zum Sortieren der Abonnements für eine überwachte Veröffentlichung verwendet werden kann.This value is displayed by the Replication Monitor in the Friendly Name column, which can be used to sort the subscriptions for a monitored publication.

RückgabecodewerteReturn Code Values

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

HinweiseRemarks

sp_addmergepullsubscription wird für die Mergereplikation verwendet.sp_addmergepullsubscription is used for merge replication.

Wenn der SQL ServerSQL Server -Agent zum Synchronisieren des Abonnements verwendet wird, muss die gespeicherte Prozedur sp_addmergepullsubscription_agent auf dem Abonnenten ausgeführt werden, um einen Agent und einen Auftrag für die Synchronisierung mit der Veröffentlichung zu erstellen.If using SQL ServerSQL Server Agent to synchronize the subscription, the sp_addmergepullsubscription_agent stored procedure must be run at the Subscriber to create an agent and job to synchronize with the Publication.

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;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2012';
SET @hostname = N'adventure-works\david8';

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

-- Add an agent job to synchronize the pull subscription. 
EXEC sp_addmergepullsubscription_agent 
  @publisher = @publisher, 
  @publisher_db = @publicationDB, 
  @publication = @publication, 
  @distributor = @publisher, 
  @job_login = $(Login), 
  @job_password = $(Password),
  @hostname = @hostname;
GO
-- 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".

-- Publication must support anonymous Subscribers.
-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
DECLARE @websyncurl AS sysname;
DECLARE @security_mode AS int;
DECLARE @login AS sysname;
DECLARE @password AS nvarchar(512);
SET @publication = N'AdvWorksSalesOrdersMergeWebSync';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2012';
SET @websyncurl = 'https://' + $(WebServer) + '/WebSync';
SET @security_mode = 0; -- Basic Authentication for IIS
SET @login = $(Login);
SET @password = $(Password);

-- At the subscription database, create a pull subscription 
-- to a merge publication.
USE [AdventureWorks2012Replica]
EXEC sp_addmergepullsubscription 
    @publisher = @publisher, 
    @publication = @publication, 
    @publisher_db = @publicationDB,
    @subscriber_type = N'anonymous';

-- Add an agent job to synchronize the pull subscription. 
EXEC sp_addmergepullsubscription_agent 
    @publisher = @publisher, 
    @publisher_db = @publicationDB, 
    @publication = @publication, 
    @distributor = @publisher, 
    @job_login = @login, 
    @job_password = @password,
    @use_web_sync = 1,
    @internet_security_mode = @security_mode,
    @internet_url = @websyncurl,
    @internet_login = @login,
    @internet_password = @password;
GO

BerechtigungenPermissions

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

Siehe auchSee Also

Erstellen eines Pullabonnements Create a Pull Subscription
Abonnieren von Veröffentlichungen Subscribe to Publications
sp_addmergepullsubscription_agent ((Transact-SQL)) sp_addmergepullsubscription_agent (Transact-SQL)
sp_changemergepullsubscription (Transact-SQL) sp_changemergepullsubscription (Transact-SQL)
sp_dropmergepullsubscription (Transact-SQL) sp_dropmergepullsubscription (Transact-SQL)
sp_helpmergepullsubscription ((Transact-SQL)) sp_helpmergepullsubscription (Transact-SQL)
sp_helpsubscription_properties (Transact-SQL)sp_helpsubscription_properties (Transact-SQL)