Compartir a través de


sp_reinitmergepullsubscription (Transact-SQL)

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

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_reinitmergepullsubscription [ [ @publisher = ] 'publisher' ]
    [ , [ @publisher_db = ] 'publisher_db' ]
    [ , [ @publication = ] 'publication' ]
    [ , [ @upload_first = ] 'upload_first'

Argumentos

  • [ @publisher = ] 'publisher'
    Es el nombre del publicador. publisher es de tipo sysname y su valor predeterminado es ALL.

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

  • [ @publication = ] 'publication'
    Es el nombre de la publicación. publication es de tipo sysname y su valor predeterminado es ALL.

  • [ @upload_first = ] 'upload_first'
    Especifica si se cargan los cambios del suscriptor antes de que se reinicialice la suscripción. upload_first es de tipo nvarchar(5) y su valor predeterminado es FALSE. Si es true, los cambios se cargan antes de reinicializar la suscripción. Si es false, los cambios no se cargan.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_reinitmergepullsubscription se utiliza en la replicación de mezcla.

Si se agrega, quita o modifica un filtro con parámetros, los cambios pendientes en el suscriptor no se pueden cargar en el publicador durante la reinicialización. Si desea cargar los cambios pendientes, sincronice todas las suscripciones antes de cambiar el filtro.

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'AdventureWorks2012';
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2012Replica]

-- Execute at the Subscriber to reinitialize the pull subscription. 
-- Pending changes at the Subscrber are lost.
EXEC sp_reinitmergepullsubscription 
    @publisher = $(PubServer),
    @publisher_db = @publicationDB,
    @publication = @publication,
    @upload_first = N'false';
GO

-- Start the Merge Agent.

-- 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'AdventureWorks2012';
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2012Replica]

-- Execute at the Subscriber to reinitialize the pull subscription, 
-- and upload pending changes at the Subscriber. 
EXEC sp_reinitmergepullsubscription 
    @publisher = $(PubServer),
    @publisher_db = @publicationDB,
    @publication = @publication,
    @upload_first = N'true';
GO

-- Start the Merge Agent.

Permisos

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

Vea también

Referencia

Procedimientos almacenados del sistema (Transact-SQL)

Conceptos

Reinicializar una suscripción

Reinicializar suscripciones