Backup differenziale del database
Un backup differenziale del database registra solo i dati modificati dopo l'ultimo backup completo del database. Questo backup completo è detto base differenziale. I backup differenziali del database sono di dimensioni ridotte e più rapidi rispetto ai backup completi del database. Ciò consente di risparmiare tempo durante i backup, a fronte però di una maggiore complessità. Per i database di grandi dimensioni, i backup differenziali possono essere eseguiti a intervalli più brevi rispetto ai backup del database. In questo modo l'esposizione al rischio di perdita dei dati viene ridotta.
I backup differenziali del database risultano particolarmente utili se un subset di un database viene modificato più spesso rispetto al resto del database. In questi casi, i backup differenziali del database consentono di eseguire frequentemente backup evitando l'overhead tipico dei backup completi del database.
[!NOTA]
I backup differenziali di un database in lettura-scrittura funzionano correttamente anche se uno dei filegroup è in modalità di sola lettura al momento della creazione della base differenziale. Come per qualsiasi backup differenziale di un database di lettura/scrittura, il Motore di database registra la base differenziale nel file primario.
Procedure consigliate per la pianificazione di backup differenziali del database
Per il backup completo di database di grandi dimensioni, è necessaria una notevole quantità di spazio su disco. Per risparmiare tempo e spazio, è possibile far seguire a un backup completo del database una serie di backup differenziali. Ogni successivo backup differenziale del database è di dimensioni maggiori del suo predecessore e richiede più spazio e più tempo per il backup e per il ripristino. È pertanto consigliabile eseguire un nuovo backup completo a intervalli di tempo appropriati per rendere disponibile una nuova base differenziale.
Quando si utilizzano backup differenziali del database, è consigliabile applicare le linee guida seguenti:
Dopo un backup completo del database, pianificare backup differenziali del database periodici. Ad esempio, fare in modo che venga eseguito un backup differenziale del database ogni quattro ore o, per sistemi molto attivi, anche più frequentemente.
Pianificare un nuovo backup completo del database a un intervallo che assicuri che le dimensioni dei backup differenziali non diventino troppo grandi. Ad esempio, è possibile eseguire un backup completo del database una volta alla settimana.
[!NOTA]
Se si utilizza il modello di recupero con registrazione completa, è inoltre necessario pianificare backup del log delle transazioni. È consigliabile eseguire i backup dei log con maggiore frequenza rispetto ai backup differenziali del database. Per ulteriori informazioni, vedere Utilizzo dei backup del log delle transazioni.
Strategie di esecuzione dei backup differenziali del database (modello di recupero con registrazione minima)
Quando si utilizza il modello di recupero con registrazione minima, il rischio di perdita dei dati cresce nel tempo. Nella figura seguente viene illustrata una strategia di backup che consente di ridurre l'esposizione al rischio di perdita dei dati utilizzando i backup del database insieme ai backup differenziali del database. Dopo il primo backup del database, viene eseguita una serie di tre backup differenziali. Il terzo backup differenziale è di dimensioni tali che il backup successivo sarà un backup del database. Questo backup del database determina la creazione di una nuova base differenziale.
Strategia di esecuzione dei backup differenziali del database (modello di recupero con registrazione completa)
Se si utilizza il modello di recupero con registrazione completa o il modello di recupero con registrazione minima delle operazioni bulk, i backup differenziali del database riducono al minimo il tempo necessario per eseguire il rollforward dei backup del log delle transazioni quando si ripristina un database. Un backup differenziale del database consente di ripristinare il database fino al momento in cui è stato completato il backup differenziale.
Nella figura seguente viene illustrata una strategia di backup che unisce backup completi e backup differenziali del database. Viene inoltre illustrata una serie di backup del log di routine. La presenza di backup del log delle transazioni consente di ridurre il rischio potenziale di perdita dei dati al periodo di tempo successivo al backup del log più recente. Dopo il primo backup del database, viene eseguita una serie di tre backup differenziali. Il terzo backup differenziale è di dimensioni tali che il backup successivo sarà un backup completo del database. Questo backup completo del database determina la creazione di una nuova base differenziale.
Nell'esempio della figura il database è esposto al rischio di perdita dei dati prima del primo backup del database, ovvero dal momento t0 al momento t1. I backup del log di routine riducono in seguito il rischio alla sola perdita delle modifiche apportate dopo l'ultimo backup del log, ovvero quello eseguito in corrispondenza del momento t14. Se si verifica un errore del disco, è consigliabile che l'amministratore di database tenti immediatamente di eseguire un backup del log attivo, ovvero la parte finale del log. Se il backup della parte finale del log riesce, sarà possibile ripristinare il database fino al punto dell'errore.
[!NOTA]
I backup del log delle transazioni consentono di eseguire il recupero fino al punto in cui si è verificato l'errore. Per ulteriori informazioni, vedere Ripristino di un database fino a un punto all'interno di un backup.
Creazione e pianificazione di backup differenziali del database
La sintassi di BACKUP necessaria per la creazione di un backup differenziale del database è la seguente:
BACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIAL
Per creare un backup differenziale del database
Procedura: Creazione di un backup differenziale del database (Transact-SQL)
Procedura: Creazione di un backup differenziale del database (SQL Server Management Studio)
SqlBackup (SMO)
[!NOTA]
Per ulteriori informazioni sull'utilizzo dei backup differenziali, comprese le relative procedure consigliate, vedere Utilizzo dei backup differenziali.
Per pianificare i processi di backup
Utilizzo di un backup differenziale del database per ripristinare il database
Prima di ripristinare un backup differenziale, è necessario eseguire il ripristino della relativa base. Se si esegue una serie di backup completi differenziali per una base specificata, è sufficiente ripristinare la base e il backup differenziale più recente al momento del ripristino. Per ulteriori informazioni, vedere Esecuzione di un ripristino di database completo (modello di recupero con registrazione minima) o Esecuzione di un ripristino completo del database (Modello di recupero con registrazione completa).
Importante |
---|
È consigliabile conservare tutti i backup differenziali creati finché si conserva la base. Se il backup differenziale più recente è danneggiato, è possibile utilizzare un backup differenziale precedente per ripristinare il database. |
Vedere anche