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

Icône Lien de rubrique 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)

Concepts

Réinitialiser un abonnement

Réinitialiser des abonnements