sp_reinitpullsubscription (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

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

Syntaxe

  
sp_reinitpullsubscription [ @publisher = ] 'publisher'  
        , [ @publisher_db = ] 'publisher_db'  
        , [ @publication = ] 'publication'  

Arguments

[ @publisher = ] 'publisher' Nom du serveur de publication. publisher est sysname, sans valeur par défaut.

[ @publisher_db = ] 'publisher_db' Nom de la base de données Publisher. publisher_db est sysname, sans valeur par défaut.

[ @publication = ] 'publication' Nom de la composition. la publication est sysname, avec une valeur par défaut de tous, qui marque tous les abonnements pour la réinitialisation.

Codet de retour

0 (réussite) ou 1 (échec)

Notes

sp_reinitpullsubscription est utilisé dans la réplication transactionnelle.

sp_reinitpullsubscription n’est pas pris en charge pour la réplication transactionnelle d’égal à égal.

sp_reinitpullsubscription pouvez être appelée à partir de l’Abonné pour réinitialiser l’abonnement, lors de l’exécution suivante du Agent de distribution.

Les abonnements aux publications créées avec la valeur false pour @immediate_sync ne peuvent pas être réinitialisés à partir de l’Abonné.

Vous pouvez réinitialiser un abonnement par extraction 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'AdventureWorks2022';
SET @publication = N'AdvWorksProductTran';

USE [AdventureWorks2022Replica]

-- 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 le rôle de base de données fixe db_owner peuvent exécuter sp_reinitpullsubscription.

Voir aussi

Réinitialiser un abonnement
Réinitialiser des abonnements
Procédures stockées système (Transact-SQL)