Habilitar backups coordenados para replicação transacional

Aplica-se a: SQL Server

Quando habilitar um banco de dados para a replicação transacional, é possível especificar que seja efetuado um backup de todas as transações antes que elas sejam entregues ao banco de dados de distribuição. Você pode habilitar também um backup coordenado no banco de dados de distribuição de modo que o log de transações, para o banco de dados de publicação, não fique truncado até que seja efetuado o backup das transações que foram propagadas ao Distribuidor. Para obter mais informações, consulte Estratégias para fazer backup e restaurar o instantâneo e a replicação transacional.

Observação

Usar a opção sincronizar com backup no banco de dados de distribuição não é compatível quando o banco de dados publicador faz parte de um grupo de disponibilidade e pode levar ao seguinte erro: 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 backups coordenados para um banco de dados publicado com replicação transacional

  1. No editor, use a função SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup') DATABASEPROPERTYEX (Transact-SQL) para retornar a propriedade IsSyncWithBackup do banco de dados de publicação. Se a função retornar 1, os backups coordenados já estarão habilitados para o banco de dados publicado.

  2. Se a função na etapa 1 retornar 0, execute sp_replicationdboption (Transact-SQL) no Fornecedor do banco de dados de publicação. Especifique um valor de sync with backup para @ optnamee verdadeiro para @ value.

    Observação

    Se alterar a opção sync with backup para falso, o ponto de truncamento do banco de dados de publicação será atualizado após a execução do Agente de Leitor de Log ou após um intervalo, caso o Agente de Leitor de Log esteja executando continuamente. O intervalo máximo é controlado pelo parâmetro do agente -MessageInterval (que tem um padrão de 30 segundos).

Para habilitar backups coordenados para um banco de dados de distribuição

  1. No Distribuidor, use a função DATABASEPROPERTYEX (Transact-SQL) para retornar a propriedade IsSyncWithBackup do banco de dados de distribuição. Se a função retornar 1, os backups coordenados já estarão habilitados para o banco de dados de distribuição.

  2. Se a função na etapa 1 retornar 0, execute sp_replicationdboption (Transact-SQL) no Distribuidor do banco de dados de distribuição. Especifique um valor de sync with backup para @ optname e verdadeiro para @ value.

Para desabilitar backups coordenados

  1. No Fornecedor do banco de dados de publicação ou no Distribuidor no banco de dados de distribuição, execute sp_replicationdboption (Transact-SQL). Especifique um valor sync with backup para @ optname e false para @ value.

Exemplos

R. Recuperar a propriedade IsSyncWithBackup para o banco de dados atual

Este exemplo retorna a propriedade IsSyncWithBackup para o banco de dados atual:

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

B. Recuperar a propriedade IsSyncWithBackup para um banco de dados específico

Este exemplo retorna a propriedade IsSyncWithBackup para o banco de dados NameOfDatabaseToCheck:

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