Abilitare backup coordinati per la replica transazionale

Si applica a:SQL Server

Quando si attiva la replica transazionale per un database, è possibile specificare che è necessario eseguire il backup di tutte le transazioni prima del recapito al database di distribuzione. È inoltre possibile attivare il backup coordinato nel database di distribuzione. In questo modo, il log delle transazioni per il database di pubblicazione viene troncato solo in seguito al backup delle transazioni propagate al server di distribuzione. Per altre informazioni, vedere Strategie per il backup e il ripristino della replica snapshot e della replica transazionale.

Nota

L'impostazione dell'opzione di sincronizzazione con backup nel database di distribuzione non è compatibile quando il server di pubblicazione fa parte del gruppo di disponibilità e potrebbe causare il seguente errore: 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)

Per attivare i backup coordinati per un database pubblicato con replica transazionale

  1. Nel server di pubblicazione usare la funzione SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup')DATABASEPROPERTYEX (Transact-SQL) per fare in modo che venga restituita la proprietà IsSyncWithBackup del database di pubblicazione. Se la funzione restituisce 1, i backup coordinati sono già attivati per il database pubblicato.

  2. Se la funzione nel passaggio 1 restituisce 0, eseguire sp_replicationdboption (Transact-SQL) nel database di pubblicazione nel server di pubblicazione. Specificare un valore di sync with backup per @optnamee true per @value.

    Nota

    Se si modifica l'opzione sync with backup in false, il punto di troncamento del database di pubblicazione viene aggiornato dopo l'esecuzione dell'agente di lettura log o dopo un intervallo, in caso di esecuzione continua dell'agente di lettura log. L'intervallo massimo è controllato dal parametro dell'agente –MessageInterval , la cui impostazione predefinita è pari a 30 secondi.

Per attivare i backup coordinati per un database di distribuzione

  1. Nel server di distribuzione usare la funzione DATABASEPROPERTYEX (Transact-SQL) per fare in modo che venga restituita la proprietà IsSyncWithBackup del database di distribuzione. Se la funzione restituisce 1, i backup coordinati sono già attivati per il database di distribuzione.

  2. Se la funzione nel passaggio 1 restituisce 0, eseguire sp_replicationdboption (Transact-SQL) nel database di pubblicazione nel server di distribuzione. Specificare un valore di sync with backup per @optname e true per @value.

Per disabilitare i backup coordinati

  1. Nel database di pubblicazione nel server di pubblicazione o nel database di distribuzione nel server di distribuzione eseguire sp_replicationdboption (Transact-SQL). Specificare un valore di sync with backup per @optname e false per @value.

Esempi

R. Recuperare la proprietà IsSyncWithBackup per il database corrente

Questo esempio restituisce la proprietà IsSyncWithBackup per il database corrente:

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

B. Recuperare la proprietà IsSyncWithBackup per un database specifico

Questo esempio restituisce la proprietà IsSyncWithBackup per il database NameOfDatabaseToCheck:

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