Condividi tramite


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

 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 in linea.

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 è in linea, viene attivata automaticamente la modalità in linea per i filegroup A e C.

Nota

La sequenza di ripristino non in linea prevede un numero di passaggi inferiore rispetto al ripristino in linea 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à non in linea 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à in linea. Tutti i filegroup sono ora in linea.