Backup con il modello di recupero con registrazione completa
Data aggiornamento: 17 luglio 2006
Il modello di recupero con registrazione completa prevede l'utilizzo di backup del log per evitare perdite di dati in una vastissima gamma di scenari di errore ed è pertanto necessario eseguire il backup e il ripristino del log delle transazioni (operazione denominata backup del log). Il vantaggio derivante dall'utilizzo dei backup del log è la possibilità di ripristinare un database fino a un qualsiasi punto nel tempo contenuto all'interno di un backup del log (operazione denominata recupero temporizzato). Se è possibile eseguire il backup del log attivo in seguito a un'emergenza, sarà possibile ripristinare il database fino al punto di errore senza alcuna perdita di dati. Gli svantaggi correlati all'utilizzo dei backup del log sono lo spazio di archiviazione necessario e l'aumento del tempo di esecuzione del ripristino nonché del grado di complessità.
[!NOTA] Se i vantaggi dell'utilizzo dei backup del log non giustificano il costo di gestione dei backup, si consiglia di utilizzare il modello di recupero con registrazione minima.
Nel caso di un database che normalmente utilizza il modello di recupero con registrazione completa, è possibile ottimizzare determinate operazioni di massa passando temporaneamente al modello di recupero con registrazione minima delle transazioni di massa. Questo modello di recupero prevede numerose restrizioni che lo rendono inadeguato per un utilizzo quotidiano. Per ulteriori informazioni, vedere Backup in base al modello di recupero con registrazione minima delle transazioni di massa.
Esempio di strategia di backup
Nella figura seguente viene illustrata la strategia di backup più semplice in base al modello di recupero con registrazione completa. Nella figura sono stati eseguiti un backup del database, Db_1, e due backup del log di routine, Log_1 e Log_2. Qualche tempo dopo il backup di Log_2, nel database si verifica una perdita di dati. Prima del ripristino di questi tre backup, l'amministratore del database deve eseguire il backup del log attivo, ovvero della parte finale del log. L'amministratore del database ripristina quindi Db_1, Log_1 e Log_2 senza recuperare il database e infine ripristina e recupera il backup della parte finale del log. In questo modo il database e, di conseguenza, tutti i dati vengono recuperati fino al punto di errore.
Riduzione del rischio di perdita dei dati
Quando il primo backup completo del database è stato completato e vengono avviati i backup regolari del log, il rischio di perdita dei dati è limitato al periodo compreso tra il momento in cui è avvenuto il danneggiamento del database e il backup regolare del log più recente. È quindi consigliabile eseguire backup del log con una frequenza sufficiente a contenere il rischio di perdita dei dati entro i requisiti specificati dall'azienda.
Dopo un errore, è possibile tentare di eseguire il backup della parte finale del log (quella non ancora inclusa nel backup). Se il backup di questa parte del log ha esito positivo, la perdita di dati viene evitata completamente ripristinando il database fino al punto in cui si è verificato l'errore.
È possibile utilizzare una serie di backup del log per eseguire il rollforward di un database fino a qualsiasi punto nel tempo contenuto in uno dei backup del log. Per ridurre al minimo i rischi, è consigliabile pianificare backup del log di routine. Si tenga presente che per limitare il tempo di esecuzione del ripristino è possibile integrare ogni backup completo con una serie di backup differenziali degli stessi dati.
Nella figura seguente viene illustrata una strategia di backup in base a cui i backup completi del database vengono integrati con backup differenziali del database e una serie di backup del log di routine. Grazie alla presenza dei backup del log delle transazioni, il rischio di perdita dei dati è limitato al periodo successivo al backup del log più recente. Dopo il primo backup del database, viene eseguita una serie di tre backup differenziali. Le dimensioni del terzo backup differenziale sono sufficientemente grandi da suggerire l'esecuzione di un backup completo del database per il backup successivo. In questo modo viene creata una nuova base differenziale.
Nel periodo precedente al primo backup del database illustrato in questa figura, il database è esposto al rischio di perdita dei dati (dal punto t0 al punto t1). In seguito, i backup del log di routine limitano il rischio alla sola perdita delle modifiche apportate dopo l'ultimo backup del log, che in questa figura è stato eseguito nel punto t14. In caso di errore, l'amministratore del database dovrà tentare immediatamente di eseguire il backup del log attivo, ovvero della parte finale del log. Se questo backup della parte finale del log ha esito positivo, il database può essere ripristinato fino al punto in cui si è verificato l'errore.
Operazioni di massa e modello di recupero con registrazione completa
Mediante la registrazione di tutte le operazioni, incluse operazioni di massa quali SELECT INTO, CREATE INDEX e il caricamento di massa dei dati, il modello di recupero con registrazione completa consente di eseguire il recupero di un database fino al punto di errore o fino a un punto nel tempo precedente (operazione denominata ripristino temporizzato).
Molti utenti che implementano il modello di recupero con registrazione completa passano temporaneamente al modello di recupero con registrazione minima delle transazioni di massa quando i vantaggi legati al caricamento di massa dei dati e al miglioramento delle prestazioni superano lo svantaggio del rischio potenziale di perdita dei dati. Il modello di recupero con registrazione minima delle transazioni di massa riduce al minimo la registrazione delle operazioni di massa, ma prevede una registrazione completa delle altre transazioni. Per ulteriori informazioni sul modello di recupero con registrazione minima delle transazioni di massa, vedere Backup in base al modello di recupero con registrazione minima delle transazioni di massa.
[!NOTA] In SQL Server 2000 e versioni successive l'utilizzo dell'opzione del database select into/bulkcopy di sp_dboption reimposta il modello di recupero su BULK_LOGGED. In SQL Server 2000 questa opzione è necessaria per creare una tabella permanente con SELECT INTO. In SQL Server 2005 questa opzione non è invece mai necessaria ed è consigliabile evitarne l'utilizzo. Utilizzare invece l'opzione ALTER DATABASE. La stored procedure sp_dboption verrà rimossa a partire da una delle prossime versioni di SQL Server.
Utilizzo dei backup per il ripristino di un database
Per ripristinare un database è necessario eseguire una sequenza di operazioni di ripristino (denominata sequenza di ripristino). Una sequenza di ripristino ha inizio con il ripristino di almeno un backup completo, seguito facoltativamente da un backup differenziale corrispondente.
Ogni backup completo e differenziale contiene un numero sufficiente di record del log da consentirne l'utilizzo per il recupero del database. In genere, tuttavia, è consigliabile ripristinare i backup del log successivi in sequenza, fino al backup della parte finale del log, se disponibile. Prima di iniziare il ripristino di un database, è quindi necessario creare un backup della parte finale del log, che consente di ripristinare il database fino al punto in cui si è verificato un errore. Dopo aver ripristinato l'ultimo backup del log, è necessario recuperare il database.
[!NOTA] Quando si utilizza il modello di recupero con registrazione completa o con registrazione minima delle transazioni di massa, in SQL Server 2005 Enterprise Edition è possibile eseguire il ripristino di file o pagine oppure sia di file sia di pagine mentre un database è in linea. Questo tipo di ripristino è denominato ripristino in linea. La sintassi dell'istruzione RESTORE per il ripristino di file o pagine è la stessa indipendentemente dal fatto che il database sia in linea o non in linea.
Per ulteriori informazioni, vedere Panoramica del ripristino e del recupero in SQL Server.
Vedere anche
Concetti
Periferiche di backup
Utilizzo delle transazioni contrassegnate (modello di recupero con registrazione completa)
Panoramica del ripristino e del recupero in SQL Server
Considerazioni sul passaggio dal modello di recupero con registrazione completa o con registrazione minima delle transazioni di massa
Altre risorse
Informazioni sui log delle transazioni e sulla relativa gestione
Utilizzo dei backup differenziali
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
17 luglio 2006 |
|
5 dicembre 2005 |
|