sp_addmergepullsubscription (Transact-SQL)sp_addmergepullsubscription (Transact-SQL)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)noDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Aggiunge una sottoscrizione pull a una pubblicazione di tipo merge.Adds a pull subscription to a merge publication. Questa stored procedure viene eseguita nel database di sottoscrizione del Sottoscrittore.This stored procedure is executed at the Subscriber on the subscription database.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax


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

ArgomentiArguments

[ @publication=] 'pubblicazione'[ @publication=] 'publication'
Nome della pubblicazione.Is the name of the publication. pubblicazione è sysname, non prevede alcun valore predefinito.publication is sysname, with no default.

[ @publisher=] 'publisher'[ @publisher=] 'publisher'
Nome del server di pubblicazione.Is the name of the Publisher. Server di pubblicazione è sysname, con valore predefinito è il nome del server locale.Publisher is sysname, with a default of the local server name. Il server di pubblicazione deve essere un server valido.The Publisher must be a valid server.

[ @publisher_db =] 'publisher_db'[ @publisher_db =] 'publisher_db'
Nome del database del server di pubblicazione.Is the name of the Publisher database. publisher_db è sysname, con un valore predefinito è NULL.publisher_db is sysname, with a default of NULL.

[ @subscriber_type=] 'subscriber_type'[ @subscriber_type=] 'subscriber_type'
Tipo di Sottoscrittore.Is the type of Subscriber. subscriber_type è nvarchar (15)e può essere globale, locale o anonimo.subscriber_type is nvarchar(15), and can be global, local or anonymous. In SQL Server 2005SQL Server 2005 e versioni successive le sottoscrizioni locali vengono dette sottoscrizioni client e le sottoscrizioni globali vengono dette sottoscrizioni server.In SQL Server 2005SQL Server 2005 and later versions, local subscriptions are referred to as client subscriptions and global subscriptions are referred to as server subscriptions.

[ @subscription_priority=] subscription_priority[ @subscription_priority=] subscription_priority
Priorità della sottoscrizione.Is the subscription priority. subscription_priorityè reale, con un valore predefinito è NULL.subscription_priorityis real, with a default of NULL. Per le sottoscrizioni locali e anonime, la priorità è 0,0.For local and anonymous subscriptions, the priority is 0.0. La priorità viene utilizzata dal sistema di risoluzione predefinito per eseguire una selezione in caso di conflitti.The priority is used by the default resolver to pick a winner when conflicts are detected. Per i Sottoscrittori globali, la priorità della sottoscrizione deve essere minore di 100, che corrisponde al livello di priorità del server di pubblicazione.For global subscribers, the subscription priority must be less than 100, which is the priority of the publisher.

[ @sync_type=] 'sync_type'[ @sync_type=] 'sync_type'
Tipo di sincronizzazione per la sottoscrizione.Is the subscription synchronization type. sync_typeè nvarchar (15), il valore predefinito è automatica.sync_typeis nvarchar(15), with a default of automatic. Può essere automatica o Nessuno.Can be automatic or none. Se automatico, lo schema e i dati iniziali per le tabelle pubblicate vengono trasferiti nel Sottoscrittore prima.If automatic, the schema and initial data for published tables are transferred to the Subscriber first. Se Nessuno, si presuppone il sottoscrittore includa già lo schema e i dati iniziali per le tabelle pubblicate.If none, it is assumed the Subscriber already has the schema and initial data for published tables. Le tabelle e i dati di sistema vengono sempre trasferiti.System tables and data are always transferred.

Nota

Non è consigliabile specificare un valore di Nessuno.We do not recommend specifying a value of none.

[ @description=] 'descrizione'[ @description=] 'description'
Breve descrizione della sottoscrizione pull.Is a brief description of this pull subscription. Descrizioneè nvarchar (255), con un valore predefinito è NULL.descriptionis nvarchar(255), with a default of NULL. Questo valore viene visualizzato da Monitoraggio replica nel nome descrittivo colonna, che può essere utilizzato per ordinare le sottoscrizioni per una pubblicazione monitorata.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.

Valori restituitiReturn Code Values

0 (esito positivo) o 1 (errore)0 (success) or 1 (failure)

OsservazioniRemarks

sp_addmergepullsubscription usato per la replica di tipo merge.sp_addmergepullsubscription is used for merge replication.

Se si utilizza SQL ServerSQL Server agente per sincronizzare la sottoscrizione, il sp_addmergepullsubscription_agent stored procedure deve essere eseguita nel Sottoscrittore per creare un agente e il processo per la sincronizzazione con la pubblicazione.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.

EsempioExample


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

PermissionsPermissions

Solo i membri del sysadmin ruolo predefinito del server o db_owner ruolo predefinito del database possono eseguire sp_addmergepullsubscription.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addmergepullsubscription.

Vedere ancheSee Also

Create a Pull Subscription Create a Pull Subscription
Sottoscrivere le pubblicazioni 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)