Aktivera koordinerade säkerhetskopior för transaktionell replikering

Gäller för:SQL Server

När du aktiverar en databas för transaktionell replikering kan du specificera att alla transaktioner måste säkerhetskopieras innan de levereras till distributionsdatabasen. Du kan också aktivera koordinerad backup i distributionsdatabasen så att transaktionsloggen för publiceringsdatabasen inte förkortas förrän transaktioner som har spridits till distributören har säkerhetskopierats. För mer information, se Strategier för säkerhetskopiering och återställning av snapshot och Transaktionell replikering.

Note

Att använda synkroniseringsalternativet med backup i distributionsdatabasen är inte kompatibelt när publicistdatabasen är en del av en tillgänglighetsgrupp och kan leda till följande fel: 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)

Att möjliggöra koordinerade säkerhetskopior för en databas publicerad med transaktionell replikering

  1. Vid Publisher använder SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup') du funktionen DATABASEPROPERTYEX (Transact-SQL) för att returnera egenskapen IsSyncWithBackup för publiceringsdatabasen. Om funktionen returnerar 1 är koordinerade säkerhetskopior redan aktiverade för den publicerade databasen.

  2. Om funktionen i steg 1 returnerar 0, exekveras sp_replicationdboption (Transact-SQL) vid Publisher i publiceringsdatabasen. Ange ett synkroniseringsvärde med backup för @optname, och true för @value.

    Note

    Om du ändrar synkroniseringsalternativet med backup till false, uppdateras trunkeringspunkten i publiceringsdatabasen efter att Log Reader Agent körts, eller efter ett intervall om Log Reader Agent körs kontinuerligt. Det maximala intervallet styrs av –MessageInterval-agentparametern (som har en standardinställning på 30 sekunder).

Att möjliggöra samordnade säkerhetskopior för en distributionsdatabas

  1. Hos distributören använder du funktionen DATABASEPROPERTYEX (Transact-SQL) för att returnera egenskapen IsSyncWithBackup för distributionsdatabasen. Om funktionen returnerar 1 är koordinerade säkerhetskopior redan aktiverade för distributionsdatabasen.

  2. Om funktionen i steg 1 returnerar 0, exekver sp_replicationdboption (Transact-SQL) hos distributören i distributionsdatabasen. Ange ett värde för sync med backup för @optname och true för @value.

För att inaktivera koordinerade säkerhetskopior

  1. Vid antingen Publisher i publikationsdatabasen eller vid distributören i distributionsdatabasen, exekveras sp_replicationdboption (Transact-SQL). Ange ett synkroniseringsvärde med backup för @optname och false för @value.

Examples

A. Hämta egenskapen IsSyncWithBackup för den aktuella databasen

Detta exempel returnerar egenskapen IsSyncWithBackup för den aktuella databasen:

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

B. Hämta egenskapen IsSyncWithBackup för en specifik databas

Detta exempel returnerar egenskapen IsSyncWithBackup för databasen NameOfDatabaseToCheck:

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