Habilitar copias de seguridad coordinadas para la replicación transaccional

Se aplica a:SQL Server

Al habilitar una base de datos para la replicación transaccional, puede especificar que se tenga que realizar una copia de seguridad de todas las transacciones antes de ser entregadas a la base de datos de distribución. También puede habilitar la 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 se haya realizado una copia de seguridad de las transacciones que se han propagado al distribuidor. Para más información, consulte Estrategias para hacer copias de seguridad y restaurar replicación de instantáneas o 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)

Para habilitar las copias de seguridad coordinadas de una base de datos publicada con replicación transaccional

  1. En el publicador, use 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 la truncación de la base de datos de publicación estará actualizado después de que el Agente de registro del LOG se ejecute o después de un intervalo si el Agente de registro del LOG está ejecutando permanentemente. 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')`