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_reinitpullsubscriptionpuò 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.