Compartir a través de


sp_reinitpullsubscription (Transact-SQL)

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.

Icono de vínculo a temasConvenciones 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 de tipo sysname y no tiene valor predeterminado.

  • [ @publisher_db=] 'publisher_db'
    Es el nombre de la base de datos del publicador. publisher_db es de tipo sysname y no tiene valor predeterminado.

  • [ @publication=] 'publication'
    Es el nombre de la publicación. publication es de tipo sysname y su valor predeterminado es all, que marca todas las suscripciones para reinicialización.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_reinitpullsubscription se utiliza en la replicación transaccional.

sp_reinitpullsubscription no se admite para la replicación transaccional del mismo nivel.

Se puede llamar a sp_reinitpullsubscription desde el suscriptor para reinicializar la suscripción la próxima vez que se ejecute el Agente de distribución.

Las suscripciones a publicaciones creadas con un valor de false para @immediate_sync no pueden reinicializarse 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'AdventureWorks2008R2';
SET @publication = N'AdvWorksProductTran';

USE [AdventureWorks2008R2Replica]

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

Sólo los miembros de la función fija de servidor sysadmin o de la función fija de base de datos db_owner pueden ejecutar sp_reinitpullsubscription.