Habilitar backups coordenados para Replicação Transacional

Aplica-se:SQL Server

Quando você habilita a Replicação Transacional para um banco de dados, pode especificar que todas as transações devem ter backup realizado antes de serem entregues ao banco de dados de distribuição. Você também pode habilitar o backup coordenado no banco de dados de distribuição para que o log de transações do banco de dados de publicação não seja truncado até que seja feito backup das transações que foram propagadas para o Distribuidor. Para mais informações, veja Estratégias para backup e restauração de snapshots e 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 permitir backups coordenados em um banco de dados publicado com Replicação Transacional

  1. No Publicador, 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 Publicador, no banco de dados de publicação. Especifique o valor sync with backup para @optname e true para @value.

    Observação

    Se você alterar a opção sync with backup para false, o ponto de truncamento do banco de dados de publicação será atualizado depois que o Agente Leitor de Log for executado ou após um intervalo, caso o Agente Leitor de Log esteja em execução contínua. 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 true para @value.

Para desabilitar backups coordenados

  1. No Publicador, no banco de dados de publicação, ou no Distribuidor, no banco de dados de distribuição, execute sp_replicationdboption (Transact-SQL). Especifique o valor sincronizar com backup para @optname e false para @value.

Exemplos

A. 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')`