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.
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.
Notas
sp_reinitmergepullsubscription se utiliza en la réplica 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.
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_reinitmergepullsubscription.
Valores de código de retorno
0 (correcto) o 1 (error)
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'AdventureWorks';
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorksReplica]
-- 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'AdventureWorks';
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorksReplica]
-- 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.
Vea también
Referencia
Procedimientos almacenados del sistema (Transact-SQL)
Otros recursos
How to: Reinitialize a Subscription (Replication Transact-SQL Programming)
Reinicializar una suscripción