sp_reinitpullsubscription (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Marca una suscripción transaccional de extracción o anónima para reinicializarla la próxima vez que se ejecute el Agente de distribución. Este procedimiento almacenado se ejecuta en el suscriptor de la base de datos de suscripciones de extracción.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @publisher = ] 'publisher' Es el nombre del publicador. publisher es sysname, sin ningún valor predeterminado.

[ @publisher_db = ] 'publisher_db' Es el nombre de la base de datos del publicador. publisher_db es sysname, sin ningún valor predeterminado.

[ @publication = ] 'publication' Es el nombre de la publicación. publication es sysname, con un valor predeterminado de todos, que marca todas las suscripciones para reinicialización.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_reinitpullsubscription se usa en la replicación transaccional.

sp_reinitpullsubscription no se admite para la replicación transaccional punto a punto.

sp_reinitpullsubscription se puede llamar desde el suscriptor para reinicializar la suscripción, durante la siguiente ejecución del Agente de distribución.

Las suscripciones a publicaciones creadas con un valor false para @immediate_sync no se pueden reinicializar desde el suscriptor.

Puede reinicializar una suscripción de extracción ejecutando sp_reinitpullsubscription en el suscriptor o sp_reinitsubscription en el publicador.

Ejemplo

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

Permisos

Solo los miembros del rol fijo de servidor sysadmin o el rol fijo de base de datos db_owner pueden ejecutar sp_reinitpullsubscription.

Consulte también

Reinicializar una suscripción
Reinicializar suscripciones
Procedimientos almacenados del sistema (Transact-SQL)