sp_reinitpullsubscription (Transact-SQL)
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.
Sintassi
sp_reinitpullsubscription [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
Argomenti
[ @publisher=] 'publisher'
Nome del server di pubblicazione. publisher è di tipo sysname e non prevede alcun valore predefinito.[ @publisher_db=] 'publisher_db'
Nome del database del server di pubblicazione. publisher_db è di tipo sysname e non prevede alcun valore predefinito.[ @publication=] 'publication'
Nome della pubblicazione. publication è di tipo sysname e il valore predefinito è All, con cui tutte le sottoscrizioni vengono contrassegnate per la reinizializzazione.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
La stored procedure sp_reinitpullsubscription viene utilizzata per la replica transazionale.
La stored procedure sp_reinitpullsubscription non è supportata nella replica transazionale peer-to-peer.
È possibile richiamare sp_reinitpullsubscription dal Sottoscrittore per reinizializzare la sottoscrizione durante l'esecuzione successiva dell'agente di distribuzione.
Non è possibile reinizializzare dal Sottoscrittore le sottoscrizioni alle pubblicazioni create con il valore false per @immediate_sync.
Per reinizializzare una sottoscrizione pull, eseguire sp_reinitpullsubscription nel Sottoscrittore o sp_reinitsubscription nel server di pubblicazione.
Esempio
-- 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'AdventureWorks';
SET @publication = N'AdvWorksProductTran';
USE [AdventureWorksReplica]
-- 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 del ruolo predefinito del database db_owner possono eseguire sp_reinitpullsubscription.
Vedere anche