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