sp_reinitpullsubscription (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Contrassegna una sottoscrizione pull o anonima transazionale per la reinizializzazione alla successiva esecuzione dell'agente di distribuzione. Questa stored procedure viene eseguita nel database di sottoscrizione pull del Sottoscrittore.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_reinitpullsubscription
[ @publisher = ] N'publisher'
[ , [ @publisher_db = ] N'publisher_db' ]
[ , [ @publication = ] N'publication' ]
[ ; ]
Argomenti
[ @publisher = ] N'publisher'
Nome del server di pubblicazione. @publisher è sysname, senza impostazione predefinita.
[ @publisher_db = ] N'publisher_db'
Nome del database del server di pubblicazione. @publisher_db è sysname, con il valore predefinito NULL
.
[ @publication = ] N'publication'
Nome della pubblicazione. @publication è sysname, con un valore predefinito all
, che contrassegna tutte le sottoscrizioni per la reinizializzazione.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
sp_reinitpullsubscription
viene usato nella replica transazionale.
sp_reinitpullsubscription
non è supportato per la replica transazionale peer-to-peer.
sp_reinitpullsubscription
può essere chiamato dal Sottoscrittore per reinizializzare la sottoscrizione, durante l'esecuzione successiva del agente di distribuzione.
Le sottoscrizioni alle pubblicazioni create con il valore per false
@immediate_sync non possono essere reinizializzate dal Sottoscrittore.
È possibile reinizializzare una sottoscrizione pull eseguendo sp_reinitpullsubscription
nel Sottoscrittore o sp_reinitsubscription
nel server di pubblicazione.
Esempi
-- 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.
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin o il ruolo predefinito del database db_owner possono eseguire sp_reinitpullsubscription
.