Esempio: Ripristino a fasi di un numero limitato di filegroup (modello di recupero con registrazione completa)
Si applica a: SQL Server
Le informazioni contenute in questo argomento interessano i database di SQL Server basati sul modello di recupero con registrazione completa che includono più file o filegroup.
Una sequenza di ripristino a fasi consente di ripristinare e recuperare un database in varie fasi a livello di filegroup, a partire dal filegroup primario e tutti i filegroup secondari di lettura/scrittura.
In questo esempio un database denominato adb
, che utilizza il modello di recupero con registrazione completa, contiene tre filegroup. Il filegroup A
è in lettura/scrittura, mentre i filegroup B
e C
sono di sola lettura. Inizialmente, tutti i filegroup sono online.
Il filegroup primario e il filegroup B
del database adb
risultano danneggiati. Il filegroup primario è di dimensioni limitate ed è possibile ripristinarlo rapidamente. L'amministratore del database decide di ripristinare i filegroup utilizzando una sequenza di ripristino a fasi. Innanzitutto, il filegroup primario e i log delle transazioni successivi vengono ripristinati e il database recuperato.
I filegroup integri A
e C
includono dati di importanza critica. Verranno pertanto recuperati e resi disponibili online il più rapidamente possibile. Infine, viene ripristinato e recuperato il filegroup secondario danneggiato B
.
Sequenze di ripristino:
Nota
La sintassi di una sequenza di ripristino online è la stessa di una sequenza di ripristino offline.
Creare un backup della parte finale del log per il database
adb
. Questo passaggio è fondamentale per fare in modo che i filegroup integriA
eC
vengano aggiornati rispetto al punto di recupero del database.BACKUP LOG adb TO tailLogBackup WITH NORECOVERY
Eseguire un ripristino parziale del filegroup primario.
RESTORE DATABASE adb FILEGROUP='Primary' FROM backup WITH PARTIAL, NORECOVERY RESTORE LOG adb FROM log_backup1 WITH NORECOVERY RESTORE LOG adb FROM log_backup2 WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
In questa fase il filegroup primario è online. Il recupero dei file nei filegroup
A
,B
eC
è in sospeso e questi filegroup sono offline.Eseguire un ripristino online dei filegroup
A
eC
.Non è necessario ripristinare questi filegroup da un backup poiché i dati in essi contenuti non sono danneggiati, ma è necessario recuperarli per attivare la modalità online.
L'amministratore del database recupera
A
eC
immediatamente.RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY
A questo punto il filegroup primario e i filegroup
A
eC
sono online. Il recupero dei file nel filegroupB
è ancora in sospeso e questo filegroup è offline.Eseguire un ripristino online del filegroup
B
.
I file nel filegroup B
vengono ripristinati in un qualsiasi momento successivo.
Nota
Il backup del filegroup B
è stato eseguito dopo che il filegroup è diventato di sola lettura, quindi non è necessario eseguire il roll forward di questi file.
RESTORE DATABASE adb FILEGROUP='B' FROM backup 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)
Esempio: Ripristino a fasi di un database (modello di recupero con registrazione completa)
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)