Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
In questo argomento si spiega come pianificare ed eseguire una sequenza di ripristino per un database di SQL Server in cui viene utilizzato in genere il modello di recupero con registrazione completa. Una sequenza di ripristino è una sequenza contenente una o più istruzioni RESTORE . In genere, una sequenza di ripristino inizializza il contenuto del database, dei file e/o delle pagine in fase di ripristino (fase di copia dei dati), esegue il rollforward delle transazioni registrate (fase di redo), e poi esegue il rollback delle transazioni non confermate (fase di undo).
In scenari semplici, per una sequenza di ripristino sono necessari solo un backup completo del database, un backup differenziale del database e i successivi backup del log. In questi casi, la formulazione di una corretta sequenza di ripristino è un'operazione semplice. Per ripristinare ad esempio un intero database fino al punto in cui si è verificato un errore, eseguire innanzitutto il backup del log delle transazioni attivo (la parte finale del log). Ripristinare quindi il backup completo del database più recente, l'eventuale backup differenziale più recente e tutti i successivi backup del log nell'ordine in cui sono stati eseguiti.
In scenari più complessi, la formulazione di una corretta sequenza di ripristino può risultare difficile. Una sequenza di ripristino potrebbe ad esempio richiedere più backup di file oppure il ripristino dei dati fino a un punto nel tempo specifico. In scenari estremamente complessi, potrebbe persino essere necessario attraversare un percorso di recupero che si estende su uno o più fork di recupero.
Nota
Un percorso di recupero è la sequenza di dati e di backup del log che hanno portato un database a un determinato momento, noto come punto di recupero. Un percorso di recupero è costituito da un set specifico di trasformazioni che hanno determinato la modifica del database nel corso del tempo, mantenendone tuttavia la coerenza. Un percorso di recupero descrive un intervallo di LSN da un punto di inizio (LSN,GUID) a un punto di fine (LSN,GUID). È possibile che l'intervallo di LSN in un percorso di recupero attraversi uno o più rami di recupero dall'inizio alla fine.
Per pianificare una sequenza di ripristino
Prima di avviare una sequenza di ripristino, effettuare le operazioni seguenti:
Se possibile, crea un backup della parte finale del log del database. Per altre informazioni, vedere Backup della parte finale del log (SQL Server).
Determinare il punto di recupero previsto.
Il punto di recupero previsto può corrispondere a un qualsiasi punto nel tempo o un qualsiasi contrassegno all'interno di un backup del log delle transazioni. Per altre informazioni, vedere Ripristinare un database di SQL Server fino a un punto specifico (modello di recupero con registrazione completa) o Usare transazioni contrassegnate per recuperare coerentemente i database correlati (modello di recupero con registrazione completa).
Determinare il tipo di ripristino che si desidera eseguire. Per altre informazioni, vedere Panoramica del ripristino e del recupero (SQL Server).
Individuare i backup necessari e verificare che siano disponibili i set di supporti e i dispositivi di backup appropriati. Per altre informazioni, vedere Dispositivi di backup (SQL Server) e Set di supporti, gruppi di supporti e set di backup (SQL Server).
Per eseguire una sequenza di ripristino
Per eseguire una sequenza di ripristino, effettuare le operazioni seguenti:
Per avviare la sequenza, ripristinare uno o più backup dei dati, ad esempio un backup del database, un backup parziale, uno o più backup di file.
Ripristinare facoltativamente gli ultimi backup differenziali basati su questi backup completi.
Per ogni backup completo che si prevede di ripristinare, determinare se viene utilizzato come base per qualsiasi backup differenziale. In tal caso, ripristinare se possibile il backup differenziale più recente. Per altre informazioni, vedere Backup differenziali (SQL Server).
Avanzare il database ripristinando in sequenza i backup del log, terminando con quello che include il punto di recupero. La necessità di applicare tutti i backup del log dipende da quale backup del log contiene il punto di recupero desiderato, come segue:
Se il punto di recupero corrisponde al punto in cui si è verificato un errore, è necessario ripristinare tutti i backup del log creati dopo l'ultimo backup dei dati completo o differenziale ripristinato. Per altre informazioni, vedere Applicazione dei backup di log delle transazioni (SQL Server).
Nel caso di un ripristino a un punto nel tempo, i backup del log più recenti potrebbero non essere necessari. Se si utilizza SQL Server Management Studio, tramite Database Recovery Advisor viene assicurato che vengano selezionati solo i backup necessari per eseguire il ripristino alla temporizzazione specificata. Questi backup costituiscono il piano di ripristino consigliato per il ripristino a un punto specifico nel tempo. Per ulteriori informazioni, vedere Ripristinare un database di SQL Server a un momento specifico (Modello di recupero completo).
Riavvio di una sequenza di ripristino
Se l'esito di una sequenza di ripristino viene compromesso da un problema, è possibile interrompere la sequenza e riavviarla dall'inizio. Se, ad esempio, si ripristina per errore un numero eccessivo di backup del log e si supera il punto di recupero desiderato, è necessario riavviare la sequenza di ripristino fino al backup del log che contiene il punto di recupero previsto.
Vedi anche
Panoramica del backup (SQL Server)
Panoramica del ripristino e del recupero (SQL Server)
Ripristini completi del database (modello di ripristino completo)
Ripristino in linea (SQL Server)
Ripristini di file (modello di recupero completo)
Ripristino di pagine (SQL Server)
Ripristini a fasi (SQL Server)