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

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Ajoute un abonnement par extraction de données (pull) à une publication de fusion.Adds a pull subscription to a merge publication. Cette procédure stockée est exécutée sur la base de données d'abonnement de l'Abonné.This stored procedure is executed at the Subscriber on the subscription database.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

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

ArgumentsArguments

[ @publication = ] 'publication'Nom de la publication.[ @publication = ] 'publication' Is the name of the publication. publication est de type sysname, sans valeur par défaut.publication is sysname, with no default.

[ @publisher = ] 'publisher'Nom du serveur de publication.[ @publisher = ] 'publisher' Is the name of the Publisher. Publisher est de type sysnameet sa valeur par défaut est le nom du serveur local.Publisher is sysname, with a default of the local server name. Le serveur de publication doit être un serveur valide.The Publisher must be a valid server.

[ @publisher_db = ] 'publisher_db'Nom de la base de données du serveur de publication.[ @publisher_db = ] 'publisher_db' Is the name of the Publisher database. publisher_db est de type sysname, avec NULL comme valeur par défaut.publisher_db is sysname, with a default of NULL.

[ @subscriber_type = ] 'subscriber_type'Type de l’abonné.[ @subscriber_type = ] 'subscriber_type' Is the type of Subscriber. subscriber_type est de type nvarchar (15) et peut être Global, local ou anonyme.subscriber_type is nvarchar(15), and can be global, local or anonymous. Dans SQL Server 2005 (9.x)SQL Server 2005 (9.x) et versions ultérieures, les abonnements locaux sont appelés abonnements client et les abonnements globaux sont appelés abonnements serveur.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_priorityPriorité de l’abonnement.[ @subscription_priority = ] subscription_priority Is the subscription priority. subscription_priorityest de type Real, avec NULL comme valeur par défaut.subscription_priorityis real, with a default of NULL. Pour les abonnements locaux et anonymes, la priorité est 0,0.For local and anonymous subscriptions, the priority is 0.0. La priorité est utilisée par le résolveur par défaut pour déterminer un gagnant lorsque des conflits sont détectés.The priority is used by the default resolver to pick a winner when conflicts are detected. Pour les abonnés globaux, la priorité de l'abonnement doit être inférieure à 100, qui correspond à la priorité du serveur de publication.For global subscribers, the subscription priority must be less than 100, which is the priority of the publisher.

[ @sync_type = ] 'sync_type'Type de synchronisation de l’abonnement.[ @sync_type = ] 'sync_type' Is the subscription synchronization type. sync_typeest de type nvarchar (15) , avec Automaticcomme valeur par défaut.sync_typeis nvarchar(15), with a default of automatic. Peut être automatique ou aucun.Can be automatic or none. Si la valeur est Automatic, le schéma et les données initiales des tables publiées sont transférés en premier vers l’abonné.If automatic, the schema and initial data for published tables are transferred to the Subscriber first. Si aucun, il est supposé que l’abonné possède déjà le schéma et les données initiales pour les tables publiées.If none, it is assumed the Subscriber already has the schema and initial data for published tables. Les données et les tables système sont toujours transférées.System tables and data are always transferred.

Notes

Nous vous déconseillons de spécifier une valeur None.We do not recommend specifying a value of none.

[ @description = ] 'description'Brève description de cet abonnement par extraction.[ @description = ] 'description' Is a brief description of this pull subscription. Descriptionest de type nvarchar (255) , avec NULL comme valeur par défaut.descriptionis nvarchar(255), with a default of NULL. Cette valeur est affichée par le moniteur de réplication dans la colonne nom convivial , qui peut être utilisée pour trier les abonnements pour une publication analysée.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.

Valeurs des codes de retourReturn Code Values

0 (succès) ou 1 (échec)0 (success) or 1 (failure)

NotesRemarks

sp_addmergepullsubscription est utilisé pour la réplication de fusion.sp_addmergepullsubscription is used for merge replication.

Si vous SQL ServerSQL Server utilisez l’agent pour synchroniser l’abonnement, la procédure stockée sp_addmergepullsubscription_agent doit être exécutée sur l’abonné pour créer un agent et un travail à synchroniser avec la publication.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.

ExempleExample


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

AutorisationsPermissions

Seuls les membres du rôle serveur fixe sysadmin ou du rôle de base de données fixe db_owner peuvent exécuter sp_addmergepullsubscription.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addmergepullsubscription.

Voir aussiSee Also

Créer un abonnement par extraction de données Create a Pull Subscription
S’abonner aux Publications 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)