Esempio: Ripristino offline del filegroup primario e di un altro filegroup (modello di recupero con registrazione completa)

Si applica a:SQL Server

Le informazioni contenute in questo argomento sono rilevanti solo per i database basati sul modello di recupero con registrazione completa che includono più filegroup.

In questo esempio un database denominato adb contiene tre filegroup. I filegroup A e C sono di lettura/scrittura, mentre il filegroup B è di sola lettura. Il filegroup primario e il filegroup B sono danneggiati, mentre i filegroup A e C sono integri. Prima dell'emergenza, tutti i filegroup erano online.

L'amministratore del database decide di ripristinare e recuperare il filegroup primario e il filegroup B. 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. Non appena il database è online, viene attivata automaticamente la modalità online per i filegroup A e C .

Nota

La sequenza di ripristino offline prevede un numero di passaggi inferiore rispetto al ripristino online di un file di sola lettura. Per un esempio, vedere Esempio: Ripristino in linea di un file di sola lettura (modello di recupero con registrazione completa). L'intero database, tuttavia, rimane in modalità offline per tutta la durata della sequenza.

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.

Sequenza di ripristino

Per ripristinare il filegroup primario e il filegroup B, l'amministratore del database utilizza una sequenza di ripristino senza l'opzione PARTIAL, come illustrato di seguito:

RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
WITH NORECOVERY  
RESTORE DATABASE adb FILEGROUP='B' FROM backup2   
WITH NORECOVERY  
RESTORE LOG adb FROM backup3 WITH NORECOVERY  
RESTORE LOG adb FROM backup4 WITH NORECOVERY  
RESTORE LOG adb FROM backup5 WITH NORECOVERY  
RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  

Per i file non ripristinati viene attivata automaticamente la modalità online. Tutti i filegroup sono ora online.

Vedi anche

Ripristino in linea (SQL Server)
Ripristini a fasi (SQL Server)
Ripristini di file (modello di recupero con registrazione completa)
Applicare backup di log delle transazioni (SQL Server)
RESTORE (Transact-SQL)