Habilitar copias de seguridad coordinadas para la Replicación Transaccional

Se aplica a:SQL Server

Cuando habilitas una base de datos para la Replicación Transaccional, puedes especificar que todas las transacciones deben ser respaldadas antes de entregarlas a la base de datos de distribución. También puedes habilitar una copia de seguridad coordinada en la base de datos de distribución para que el registro de transacciones de la base de datos de publicación no se trunque hasta que las transacciones propagadas al distribuidor estén respaldadas. Para más información, consulte Estrategias para respaldar y restaurar instantáneas y replicación transaccional.

Nota:

El uso de la opción sync with backup en la base de datos de distribución no es compatible cuando la base de datos del publicador forma parte de un grupo de disponibilidad y podría provocar el siguiente error: The process could not execute 'sp_repldone/sp_replcounters' on 'machinename\instance', Possible inconsistent state in the distribution database, Get help: http://help/MSSQL_REPL20011 (Source: MSSQLServer, Error number: 18846)

Habilitar copias de seguridad coordinadas para una base de datos publicada con Replicación Transaccional

  1. En el publicador, usa la función SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup')DATABASEPROPERTYEX (Transact-SQL) para devolver la propiedad IsSyncWithBackup de la base de datos de publicación. Si la función devuelve 1, las copias de seguridad coordinadas ya están habilitadas para la base de datos publicada.

  2. Si la función del paso 1 devuelve 0, ejecute sp_replicationdboption (Transact-SQL) en el publicador de la base de datos de publicación. Especifique un valor de sync with backup para @optnamey true para @value.

    Nota:

    Si cambia la opción sync with backup a false, el punto de truncamiento de la base de datos de publicación se actualizará después de que se ejecute el Agente Lector del Registro, o tras un intervalo si el Agente Lector del Registro se está ejecutando continuamente. El parámetro del agente –MessageInterval , que tiene un valor predeterminado de 30 segundos, controla el intervalo máximo.

Para habilitar las copias de seguridad coordinadas para una base de datos de distribución

  1. En el distribuidor, use la función DATABASEPROPERTYEX (Transact-SQL) para devolver la propiedad IsSyncWithBackup de la base de datos de distribución. Si la función devuelve 1, las copias de seguridad coordinadas ya están habilitadas para la base de datos de distribución.

  2. Si la función del paso 1 devuelve 0, ejecute sp_replicationdboption (Transact-SQL) en el distribuidor de la base de datos de distribución. Especifique un valor de sync with backup para @optname y true para @value.

Para deshabilitar las copias de seguridad coordinadas

  1. En el publicador de la base de datos de publicación o en el distribuidor de la base de datos de distribución, ejecute sp_replicationdboption (Transact-SQL). Especifique un valor de sync with backup para @optname y false para @value.

Ejemplos

A. Recuperación de la propiedad IsSyncWithBackup para la base de datos actual

En este ejemplo se devuelve la propiedad IsSyncWithBackup para la base de datos actual:

SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup')`

B. Recuperación de la propiedad IsSyncWithBackup para una base de datos concreta

En este ejemplo se devuelve la propiedad IsSyncWithBackup para la base de datos NameOfDatabaseToCheck:

SELECT DATABASEPROPERTYEX('NameOfDatabaseToCheck','IsSyncWithBackup')`