Cómo reinicializar una suscripción (programación de la replicación con Transact-SQL)

Las suscripciones individuales se pueden marcar para reinicialización de manera que se aplique una nueva instantánea durante la siguiente sincronización. Las suscripciones pueden reinicializarse mediante programación con procedimientos almacenados de replicación. El procedimiento almacenado que se usa depende del tipo de suscripción (inserción o extracción) y el tipo de publicación a la que pertenece la suscripción.

Para reinicializar una suscripción de extracción a una publicación transaccional

  1. En el suscriptor de la base de datos de suscripciones, ejecute sp_reinitpullsubscription (Transact-SQL). Especifique @publisher, @publisher_db y @publication. Esto marca la suscripción para reinicializarla la próxima vez que se ejecute el Agente de distribución.

  2. (Opcional) Inicie el Agente de distribución en el suscriptor para sincronizar la suscripción. Para obtener más información, vea Cómo sincronizar una suscripción de extracción (programación de la replicación).

Para reinicializar una suscripción de inserción a una publicación transaccional

  1. En el publicador, ejecute sp_reinitsubscription (Transact-SQL). Especifique @publication, @subscriber y @destination_db. Esto marca la suscripción para reinicializarla la próxima vez que se ejecute el Agente de distribución.

  2. (Opcional) Inicie el Agente de distribución en el distribuidor para sincronizar la suscripción. Para obtener más información, vea Cómo sincronizar una suscripción de inserción (programación de la replicación).

Para reinicializar una suscripción de extracción a una publicación de mezcla

  1. En el suscriptor de la base de datos de suscripciones, ejecute sp_reinitmergepullsubscription (Transact-SQL). Especifique @publisher, @publisher_db y @publication. Para cargar los cambios del Suscriptor antes de que se produzca la reinicialización, especifique un valor true para @upload_first. Esto marca la suscripción para reinicializarla la próxima vez que se ejecute el Agente de mezcla.

    Nota importanteImportante

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

  2. (Opcional) Inicie el Agente de mezcla en el suscriptor para sincronizar la suscripción. Para obtener más información, vea Cómo sincronizar una suscripción de extracción (programación de la replicación).

Para reinicializar una suscripción de inserción a una publicación de mezcla

  1. En el publicador, ejecute sp_reinitmergesubscription (Transact-SQL). Especifique @publication, @subscriber y @subscriber_db. Para cargar los cambios del Suscriptor antes de que se produzca la reinicialización, especifique un valor true para @upload_first. Esto marca la suscripción para reinicializarla la próxima vez que se ejecute el Agente de distribución.

    Nota importanteImportante

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

  2. (Opcional) Inicie el Agente de mezcla en el distribuidor para sincronizar la suscripción. Para obtener más información, vea Cómo sincronizar una suscripción de inserción (programación de la replicación).

Para establecer la directiva de reinicialización al crear una nueva publicación de mezcla

  • En el publicador de la base de datos de publicación, ejecute sp_addmergepublication, especificando uno de los valores siguientes para @automatic_reinitialization_policy:

    • 1: los cambios se cargan en el suscriptor antes de que una suscripción se reinicialice automáticamente según lo requiera un cambio a la publicación.

    • 0: los cambios en el suscriptor se descartan cuando una suscripción se reinicializa automáticamente según lo requiera un cambio a la publicación.

    Nota importanteImportante

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

    Para obtener más información, vea Cómo crear una publicación (programación de la replicación con Transact-SQL).

Para cambiar la directiva de reinicialización para una publicación de mezcla existente

  • En el publicador de la base de datos de publicación, ejecute sp_changemergepublication, especificando automatic_reinitialization_policy para @property y uno de los siguientes valores para @value:

    • 1: los cambios se cargan en el suscriptor antes de que una suscripción se reinicialice automáticamente según lo requiera un cambio a la publicación.

    • 0: los cambios en el suscriptor se descartan cuando una suscripción se reinicializa automáticamente según lo requiera un cambio a la publicación.

    Nota importanteImportante

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

    Para obtener más información, vea Cómo ver y modificar las propiedades de la publicación (programación de la replicación con Transact-SQL).