sp_resyncmergesubscription (Transact-SQL)

Vuelve a sincronizar una suscripción de mezcla en el estado de validación conocido que especifique. Esto le permite exigir convergencia o sincronizar la base de datos de suscripciones en un punto específico del tiempo, como la última vez que hubo una validación correcta o en una fecha específica. La instantánea no se vuelve a aplicar cuando se sincroniza de nuevo una suscripción utilizando este método. Este procedimiento almacenado no se utiliza para suscripciones de replicación de instantáneas ni de transacciones. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicación o en el suscriptor de la base de datos de suscripciones.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_resyncmergesubscription [ [ @publisher = ] 'publisher' ]
    [ , [ @publisher_db = ] 'publisher_db' ]
        , [ @publication = ] 'publication' 
    [ , [ @subscriber = ] 'subscriber' ]
    [ , [ @subscriber_db = ] 'subscriber_db' ]
    [ , [ @resync_type = ] resync_type ]
    [ , [ @resync_date_str = ] resync_date_string ]

Argumentos

  • [ @publisher = ] 'publisher'
    Es el nombre del publicador. publisher es de tipo sysname y su valor predeterminado es NULL. El valor NULL es válido si se ejecuta el procedimiento almacenado en el publicador. Si el procedimiento almacenado se ejecuta en el suscriptor, se debe especificar un publicador.

  • [ @publisher_db = ] 'publisher_db'
    Es el nombre de la base de datos de publicaciones. publisher_db es de tipo sysname y su valor predeterminado es NULL. El valor NULL es válido si se ejecuta el procedimiento almacenado en el publicador de la base de datos de publicación. Si el procedimiento almacenado se ejecuta en el suscriptor, se debe especificar un publicador.

  • [ @publication = ] 'publication'
    Es el nombre de la publicación.publication es de tipo sysname y no tiene ningún valor predeterminado.

  • [ @subscriber = ] 'subscriber'
    Es el nombre del suscriptor. subscriber es de tipo sysname y su valor predeterminado es NULL. El valor NULL es válido si el procedimiento almacenado se ejecuta en el suscriptor. Si el procedimiento almacenado se ejecuta en el publicador, se debe especificar un suscriptor.

  • [ @subscriber_db = ] 'subscriber_db'
    Es el nombre de la base de datos de suscripciones. subscription_db es de tipo sysname y su valor predeterminado es NULL. El valor NULL es válido si el procedimiento almacenado se ejecuta en el suscriptor de la base de datos de suscripciones. Si el procedimiento almacenado se ejecuta en el publicador, se debe especificar un suscriptor.

  • [ @resync_type = ] resync_type
    Define cuándo debe comenzar la resincronización. resync_type es de tipo int y puede tener uno de estos valores:

    Valor

    Descripción

    0

    La sincronización comienza después de la instantánea inicial. Esta es la opción que consume más recursos, puesto que se vuelven a aplicar al suscriptor todos los cambios a partir de la instantánea inicial.

    1

    La sincronización comienza después de la última validación correcta. Todas las generaciones nuevas o incompletas originadas a partir de la última validación correcta se aplicarán de nuevo al suscriptor.

    2

    La sincronización comienza a partir de la fecha dada en resync_date_str. Todas las generaciones nuevas o incompletas originadas después de la fecha se vuelven a aplicar al suscriptor.

  • [ @resync_date_str=] resync_date_string
    Define la fecha en la que debería comenzar la resincronización. resync_date_string es de tipo nvarchar(30) y su valor predeterminado es NULL. Este parámetro se utiliza cuando resync_type tiene el valor 2. La fecha proporcionada se convierte a su valor equivalente de fecha y hora datetime.

Valores de código de retorno

0 (correcto) o 1 (error)

Notas

sp_resyncmergesubscription se utiliza en la replicación de mezcla.

El valor 0 en el parámetro resync_type, que aplica de nuevo todos los cambios a partir de la instantánea inicial, puede consumir muchos recursos, pero posiblemente muchos menos que una reinicialización completa. Por ejemplo, si la instantánea inicial tuvo lugar hace un mes, este valor dará lugar a que se apliquen de nuevo los datos del pasado mes. Si la instantánea inicial contenía 1 GB de datos, pero la cantidad de cambios del mes pasado ocupaba 2 MB de datos cambiados, sería mucho más eficaz volver a aplicar los datos que aplicar de nuevo la instantánea de 1 GB completa.

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