sp_reinitpullsubscription (Transact-SQL)
S’applique à : SQL Server Azure 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 = ] N'publisher'
[ , [ @publisher_db = ] N'publisher_db' ]
[ , [ @publication = ] N'publication' ]
[ ; ]
Arguments
[ @publisher = ] N’publisher'
Nom du serveur de publication. @publisher est sysname, sans valeur par défaut.
[ @publisher_db = ] N’publisher_db'
Nom de la base de données du serveur de publication. @publisher_db est sysname, avec la valeur par défaut NULL
.
[ @publication = ] N’publication'
Nom de la publication. @publication est sysname, avec une valeur par défaut all
, qui marque tous les abonnements pour la réinitialisation.
Valeurs des codes de retour
0
(réussite) or 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
peut être appelé à 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 de false
@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
l’Abonné ou sp_reinitsubscription
sur le serveur de publication.
Exemples
-- 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 s’exécuter sp_reinitpullsubscription
.