sp_addpullsubscription (Transact-SQL)sp_addpullsubscription (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 à une publication transactionnelle ou d'instantané.Adds a pull subscription to a snapshot or transactional publication. Cette procédure stockée est exécutée sur la base de données de l'Abonné dans laquelle l'abonnement extrait doit être créé.This stored procedure is executed at the Subscriber on the database where the pull subscription is to be created.

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

SyntaxeSyntax

  
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 ]  

ArgumentsArguments

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

[ @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. publisher_db est ignoré par les serveurs de publication Oracle.publisher_db is ignored by Oracle Publishers.

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

[ @independent_agent = ] 'independent_agent'Spécifie s’il existe un Agent de distribution autonome pour cette publication.[ @independent_agent = ] 'independent_agent' Specifies if there is a stand-alone Distribution Agent for this publication. independent_agent est de type nvarchar (5) , avec true comme valeur par défaut.independent_agent is nvarchar(5), with a default of TRUE. Si la valeur est true, il existe un agent de distribution autonome pour cette publication.If true, there is a stand-alone Distribution Agent for this publication. Si la valeurest false, il existe un agent de distribution pour chaque paire base de données de la base de données du serveur de publication/abonné.If false, there is one Distribution Agent for each Publisher database/Subscriber database pair. independent_agent est une propriété de la publication et doit avoir la même valeur ici que sur le serveur de publication.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'Type d’abonnement.[ @subscription_type = ] 'subscription_type' Is the type of subscription. subscription_type est de type nvarchar (9) , avec anonymouscomme valeur par défaut.subscription_type is nvarchar(9), with a default of anonymous. Vous devez spécifier la valeur pull pour subscription_type, à moins que vous ne souhaitiez créer un abonnement sans enregistrer l’abonnement sur le serveur de publication.You must specify a value of pull for subscription_type, unless you want to create a subscription without registering the subscription at the Publisher. Dans ce cas, vous devez spécifier une valeur anonyme.In this case, you must specify a value of anonymous. Cela s'avère nécessaire lorsque vous ne pouvez pas établir de connexion SQL ServerSQL Server avec le serveur de publication pendant la configuration de l'abonnement.This is necessary for cases in which you cannot establish a SQL ServerSQL Server connection to the Publisher during subscription configuration.

[ @description = ] 'description'Description de la publication.[ @description = ] 'description' Is the description of the publication. Description est de type nvarchar (100) , avec NULL comme valeur par défaut.description is nvarchar(100), with a default of NULL.

[ @update_mode = ] 'update_mode'Type de mise à jour.[ @update_mode = ] 'update_mode' Is the type of update. update_mode est de type nvarchar (30) et peut prendre l’une des valeurs suivantes.update_mode is nvarchar(30), and can be one of the following values.

ValueValue DescriptionDescription
lecture seule valeursread only (default) L'abonnement est en lecture seule.The subscription is read-only. Aucune modification effectuée sur l'Abonné ne sera retournée au serveur de publication.Any changes at the Subscriber will not be sent back to the Publisher. Cette valeur doit être utilisée si aucune mise à jour ne doit être effectuée sur le serveur de publication.Should be used when updates will not be made at the Subscriber.
synctransynctran Active la prise en charge des abonnements de mise à jour immédiate.Enables support for immediate updating subscriptions.
TRAN en file d’attentequeued tran Active l'abonnement pour la mise à jour en attente.Enables the subscription for queued updating. Les modifications de données peuvent être effectuées chez l'abonné, stockées dans une file d'attente, puis propagées vers le serveur de publication.Data modifications can be made at the Subscriber, stored in a queue, and then propagated to the Publisher.
failoverfailover Active l'abonnement pour la mise à jour immédiate avec mise à jour en attente sous forme de basculement.Enables the subscription for immediate updating with queued updating as a failover. Les modifications de données peuvent être effectuées chez l'abonné, puis propagées immédiatement vers le serveur de publication.Data modifications can be made at the Subscriber and propagated to the Publisher immediately. Si le serveur de publication et l'Abonné ne sont pas connectés, les modifications de données effectuées chez l'Abonné peuvent être stockées dans une file d'attente jusqu'à ce que l'Abonné et le serveur de publication soient reconnectés.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.
basculement en file d’attentequeued failover Active l'abonnement en tant qu'abonnement de mise à jour en attente, avec possibilité de passer au mode de mise à jour immédiate.Enables the subscription as a queued updating subscription with the ability to change to immediate updating mode. Les modifications de données peuvent être effectuées chez l'abonné et stockées dans une file d'attente, jusqu'à ce qu'une connexion soit établie entre l'abonné et le serveur de publication.Data modifications can be made at the Subscriber and stored in a queue until a connection is established between the Subscriber and Publisher. Lorsqu'une connexion permanente est établie, il est possible de passer au mode de mise à jour immédiate.When a continuous connection is established the updating mode can be changed to immediate updating. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.

[ @immediate_sync = ] immediate_syncIndique si les fichiers de synchronisation sont créés ou recréés à chaque exécution du Agent d’instantané.[ @immediate_sync = ] immediate_sync Is whether the synchronization files are created or re-created each time the Snapshot Agent runs. immediate_sync est de bits avec 1 comme valeur par défaut et doit être défini sur la même valeur que immediate_sync dans sp_addpublication. immediate_sync est une propriété de la publication et doit avoir la même valeur ici que sur le serveur de publication.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.

Valeurs des codes de retourReturn Code Values

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

NotesRemarks

sp_addpullsubscription est utilisé dans la réplication d’instantané et la réplication transactionnelle.sp_addpullsubscription is used in snapshot replication and transactional replication.

Important

Pour les abonnements mis à jour en attente, utilisez l'authentification SQL ServerSQL Server pour les connexions aux abonnés et spécifiez un compte différent pour la connexion à chaque abonné.For queued updating subscriptions, use SQL ServerSQL Server Authentication for connections to Subscribers, and specify a different account for the connection to each Subscriber. Lors de la création d'un abonnement par extraction de données prenant en charge la mise à jour en attente, la réplication configure toujours la connexion de manière à ce qu'elle utilise l'authentification Windows (pour les abonnements par extraction de données, la réplication ne peut pas accéder aux métadonnées de l'Abonné qui sont requises pour utiliser l'authentification SQL ServerSQL Server).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). Dans ce cas, vous devez exécuter sp_changesubscription pour modifier la connexion afin d' SQL ServerSQL Server utiliser l’authentification après la configuration de l’abonnement.In this case, you should execute sp_changesubscription to change the connection to use SQL ServerSQL Server Authentication after the subscription is configured.

Si la table (Transact-SQL) MSreplication_subscriptions n’existe pas sur l’abonné, sp_addpullsubscription la crée.If the MSreplication_subscriptions (Transact-SQL) table does not exist at the Subscriber, sp_addpullsubscription creates it. Elle ajoute également une ligne à la table (Transact-SQL) MSreplication_subscriptions .It also adds a row to the MSreplication_subscriptions (Transact-SQL) table. Pour les abonnements par extraction, (sp_addsubscription) Transact-SQL doit d’abord être appelée sur le serveur de publication.For pull subscriptions, sp_addsubscription (Transact-SQL) should be called at the Publisher first.

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

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_addpullsubscription.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addpullsubscription.

Voir aussiSee Also

Créer un abonnement par extraction de données Create a Pull Subscription
Créer un abonnement pouvant être mis à jour pour une publication transactionnelle S’abonner à des publications 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)
Procédures stockées système (Transact-SQL)System Stored Procedures (Transact-SQL)