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
Con una sequenza di ripristino a fasi, il database viene ripristinato e recuperato in varie fasi a livello di filegroup, partendo dal filegroup primario e da tutti i filegroup secondari in lettura/scrittura.
In questo esempio il database adb viene ripristinato in un nuovo computer dopo un'emergenza. Dato che il database utilizza il modello di recupero con registrazione completa, prima dell'avvio del ripristino è necessario eseguire un backup della parte finale del log per il database. Prima dell'emergenza, tutti i filegroup erano online. Il filegroup B è di sola lettura. Tutti i filegroup secondari devono essere ripristinati, ma il ripristino avviene in ordine di importanza: A (importanza massima), Ce infine B. In questo esempio sono presenti quattro backup dei log, incluso il backup della parte finale del log.
Backup della parte finale del log
Prima di ripristinare il database, è necessario che l'amministratore del database esegua il backup della parte finale del log. Dato che il database è danneggiato, la creazione di tale backup richiede l'utilizzo dell'opzione NO_TRUNCATE:
BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE
Il backup della parte finale del log è l'ultimo backup applicato nelle sequenze di ripristino seguenti.
Sequenze di ripristino
Nota
La sintassi di una sequenza di ripristino online è la stessa di una sequenza di ripristino offline.
Ripristino parziale del filegroup primario e secondario
A.RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 WITH PARTIAL, NORECOVERY RESTORE DATABASE adb FILEGROUP='A' FROM backup2 WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERYEseguire un ripristino online del filegroup
C.A questo punto sono online il filegroup primario e il filegroup secondario
A. Il recupero di tutti i file nei filegroupBeCè in sospeso e i filegroup sono offline.I messaggi relativi all'ultima istruzione
RESTORE LOGnel passaggio 1 indicano che il rollback delle transazioni che interessano il filegroupCè stato posticipato, poiché tale filegroup non è disponibile. È possibile continuare a eseguire le normali operazioni, ma sono attivi blocchi da parte di queste transazioni e non sarà possibile eseguire il troncamento del log fino al completamento del rollback.Nella seconda sequenza di ripristino l'amministratore del database ripristina il filegroup
C:RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERYA questo punto il filegroup primario e i filegroup
AeCsono online. Il recupero dei file nel filegroupBè ancora in sospeso e questo filegroup è offline. Le transazioni posticipate sono state risolte e si procede al troncamento del log.Eseguire un ripristino online del filegroup
B.
Nella terza sequenza di ripristino l'amministratore del database ripristina il filegroup B. Il backup del filegroup B è stato eseguito dopo la sua conversione in filegroup di sola lettura. Non è pertanto necessario eseguire il roll forward del filegroup durante il recupero.
RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY
In questa fase tutti i filegroup sono online.
Esempi aggiuntivi
Esempio: Ripristino a fasi di un database (modello di recupero con registrazione minima)
Esempio: Ripristino a fasi di filegroup selezionati (modello di recupero con registrazione minima)
Esempio: Ripristino online di un file di sola lettura (modello di recupero con registrazione minima)
Vedi anche
BACKUP (Transact-SQL)
Ripristino in linea (SQL Server)
Applicare backup di log delle transazioni (SQL Server)
RESTORE (Transact-SQL)
Ripristini a fasi (SQL Server)