sp_reinitpullsubscription (Transact-SQL)
Signale un abonnement par extraction de données (pull) transactionnel ou anonyme en vue de sa réinitialisation lors de la prochaine exécution de l’Agent de distribution. Cette procédure stockée est exécutée sur la base de données d'abonnement par extraction de données (pull) de l'abonné.
Conventions de la syntaxe de Transact-SQL
Syntaxe
sp_reinitpullsubscription [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
Arguments
[ @publisher=] 'publisher'
Nom du serveur de publication. publisher est de type sysname, sans valeur par défaut.[ @publisher_db=] 'publisher_db'
Nom de la base de données du serveur de publication. publisher_db est de type sysname, sans valeur par défaut.[ @publication=] 'publication'
Nom de la publication. publication est de type sysname et sa valeur par défaut, all, marque tous les abonnements pour la réinitialisation.
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Notes
sp_reinitpullsubscription est utilisée au cours d'une réplication transactionnelle.
sp_reinitpullsubscription n'est pas prise en charge pour la réplication transactionnelle d'égal à égal.
sp_reinitpullsubscription peut être appelée à partir de l'abonné afin de réinitialiser l'abonnement au cours de la prochaine exécution de l’Agent de distribution.
Les abonnements aux publications créées en attribuant la valeur false à @immediate_sync ne peuvent pas être réinitialisés à partir de l'Abonné.
Il est possible réinitialiser un abonnement par extraction de données (pull) soit en exécutant sp_reinitpullsubscription sur l’Abonné ou sp_reinitsubscription sur le serveur de publication.
Exemple
-- 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".
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks2012';
SET @publication = N'AdvWorksProductTran';
USE [AdventureWorks2012Replica]
-- Execute at the Subscriber to reinitialize the pull subscription.
EXEC sp_reinitpullsubscription
@publisher = $(PubServer),
@publisher_db = @publicationDB,
@publication = @publication;
GO
-- Start the Distribution Agent.
Autorisations
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_reinitpullsubscription.
Voir aussi
Référence
Procédures stockées système (Transact-SQL)