Utilizzo dei backup del log delle transazioni

Data aggiornamento: 17 luglio 2006

Icona con disco di database blu Le informazioni contenute in questo argomento sono rilevanti solo per i database che utilizzano il modello di recupero con registrazione completa o con registrazione minima delle transazioni di massa.

In questo argomento vengono introdotti concetti relativi al backup e al ripristino, ovvero all'applicazione, di log delle transazioni. In base ai modelli di recupero con registrazione completa e con registrazione minima delle transazioni di massa, per poter recuperare i dati è necessario eseguire backup di routine dei log delle transazioni (backup del log). I backup del log consentono di recuperare il database fino al punto di errore o fino a un punto nel tempo specifico. È consigliabile eseguire backup del log sufficientemente frequenti da soddisfare i requisiti aziendali e, in particolare, il requisito inerente la tolleranza per eventuali perdite di dati, che potrebbero ad esempio verificarsi in seguito al danneggiamento dell'unità dei log. La frequenza appropriata per l'esecuzione dei backup del log viene determinata in base al raggiungimento di un compromesso tra la tolleranza per il rischio di perdita dei dati e la quantità di backup del log che è possibile archiviare, gestire e potenzialmente ripristinare. Potrebbe essere sufficiente eseguire un backup del log ogni 15 - 30 minuti. Se nella propria azienda è necessario limitare al minimo il rischio di perdita dei dati, valutare se eseguire i backup del log con una maggiore frequenza. L'esecuzione di backup del log più frequenti offre il vantaggio aggiuntivo di un aumento della frequenza del troncamento del log, con una conseguente riduzione delle dimensioni del file o dei file di log.

Prima di creare il primo backup del log, è necessario creare un backup completo, ad esempio un backup del database oppure il primo di un set di backup di file. Il ripristino di un database solo tramite backup di file può essere un'operazione complessa. Quando possibile, è pertanto consigliabile iniziare con un backup completo del database. Eseguire quindi regolarmente il backup del log delle transazioni. In questo modo, è possibile non solo limitare al minimo il rischio di perdita dei dati, ma anche attivare il troncamento del log delle transazioni. In genere, il troncamento del log delle transazioni viene eseguito dopo ogni backup del log convenzionale, ma può essere ritardato. Per ulteriori informazioni, vedere Fattori che possono ritardare il troncamento del log.

In SQL Server 2005 è possibile eseguire il backup del log mentre è in esecuzione un qualsiasi backup completo.

Catena di log

Una sequenza continua di backup del log è denominata catena di log. Una catena di log ha inizio con un backup completo del database. In genere, una nuova catena di log viene creata solo quando si esegue il backup del database per la prima volta oppure dopo il passaggio dal modello di recupero con registrazione minima al modello di recupero con registrazione completa o con registrazione minima delle transazioni di massa.

Per ripristinare un database al punto in cui si è verificato l'errore, è necessario che la catena di log sia intatta. In altre parole, è necessario che una sequenza non interrotta di backup del log delle transazioni si estenda fino al punto di errore. Il punto in cui la sequenza del log deve iniziare dipende dal tipo di backup dei dati che si sta ripristinando, ovvero un backup del database, parziale o di file. Nel caso di un backup del database o parziale, la sequenza di backup del log si deve estendere dalla fine di un backup del database o parziale. Nel caso di un set di backup di file, la sequenza di backup del log si deve estendere dall'inizio di un intero set di backup di file.

Se si utilizzano solo backup di file, è necessario eseguire il backup del log dall'inizio del primo backup completo di file. È possibile avviare l'esecuzione dei backup del log immediatamente dopo il primo backup completo di file. L'inizio da questo punto è consigliato perché il primo backup del log può richiedere parecchio tempo. Mentre è in corso il backup del log, eseguire il backup degli altri file. Per ripristinare il database solo tramite backup di file, il set di backup completi di file deve essere integrato con uno o più backup del log che coprano l'intervallo di tempo tra il primo e l'ultimo backup di file.

[!NOTA] Per individuare il backup corrispondente all'inizio della catena di log in un set di backup, eseguire una query sulla colonna begins_log_chain della tabella backupset oppure eseguire RESTORE HEADERONLY sulla periferica di backup per visualizzare la colonna BeginsLogChain nel set di risultati.

È necessario eseguire backup regolari del log delle transazioni. Oltre a consentire il ripristino delle transazioni incluse nel backup, un backup del log tronca il log in modo da rimuovere dal file di log i record di cui è stato eseguito il backup. Se non si esegue il backup del log con frequenza sufficiente, i file di log potrebbero riempirsi. Per informazioni sulla gestione di un log delle transazioni pieno, vedere Risoluzione dei problemi relativi a un log delle transazioni pieno (Errore 9002).

ms190440.note(it-it,SQL.90).gifImportante:
Se un backup del log risulta mancante o danneggiato, avviare una nuova catena di log creando un backup completo o differenziale del database e quindi eseguendo il backup del log delle transazioni. È consigliabile mantenere i backup dei log delle transazioni precedenti al backup del log mancante, qualora fosse necessario ripristinare il database fino a un punto nel tempo all'interno di tali backup. Per informazioni sulla protezione dei backup, vedere Considerazioni sulla protezione per il backup e il ripristino.

Per informazioni sulla creazione di backup del log, vedere Creazione di backup del log delle transazioni.

Modalità di utilizzo dei backup dei log

Il ripristino di un backup del log determina il rollforward delle modifiche registrate nel log delle transazioni in modo da ricreare l'esatto stato del database esistente all'inizio dell'operazione di backup del log. Quando si ripristina un database, è necessario ripristinare i backup del log creati dopo il backup completo del database ripristinato oppure dall'inizio del primo backup di file ripristinato. In genere, dopo il ripristino del backup dei dati o del backup differenziale più recente, è necessario ripristinare una serie di backup del log fino al punto di recupero desiderato. Recuperare quindi il database. Verrà eseguito il rollback di tutte le transazioni incomplete nel momento in cui è iniziato il recupero e verrà attivata la modalità in linea per il database. Dopo il recupero del database, non è possibile ripristinare altri backup.

ms190440.note(it-it,SQL.90).gifImportante:
Per evitare perdite di dati prima di un ripristino non in linea oppure dopo un errore, è consigliabile eseguire il backup della parte finale del log per acquisire tutti i record del log di cui non è ancora stato eseguito il backup. Per ulteriori informazioni, vedere Backup della parte finale del log.

Per ripristinare i backup del log delle transazioni

Vedere anche

Concetti

Considerazioni sul passaggio dal modello di recupero con registrazione minima
Considerazioni sul passaggio dal modello di recupero con registrazione completa o con registrazione minima delle transazioni di massa
Backup con il modello di recupero con registrazione completa
Introduzione ai log delle transazioni
Panoramica del ripristino e del recupero in SQL Server

Altre risorse

Informazioni sui log delle transazioni e sulla relativa gestione

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Contenuto modificato: