Ripristino di uno snapshot del database

In questo argomento viene illustrato il funzionamento dell'operazione di ripristino di uno snapshot, vengono descritte le limitazioni relative al ripristino e viene indicato un collegamento alla procedura di ripristino. In alternativa al ripristino di un database in linea dalle copie di backup, gli utenti che dispongono delle autorizzazioni RESTORE DATABASE nel database di origine possono ripristinarne lo stato al momento della creazione di uno snapshot. Il ripristino a uno snapshot recente può essere consigliabile quando alcuni dati di un database di origine in linea sono danneggiati. È tuttavia necessario assicurarsi che lo snapshot sia stato creato prima dell'errore e che il database non sia stato danneggiato. Il ripristino può, ad esempio, consentire di annullare un errore grave dell'utente verificatosi di recente, come l'eliminazione di una tabella.

Tramite il ripristino vengono sovrascritti gli aggiornamenti apportati al database di origine dal momento della creazione dello snapshot, tramite la copia delle pagine copy-on-write dai file sparse al database. Verranno sovrascritte solo le pagine aggiornate. Tramite l'operazione di ripristino viene quindi sovrascritto il file di log precedente e viene ricreato il log. Di conseguenza, successivamente non sarà possibile eseguire il rollforward del database ripristinato al momento dell'errore dell'utente e gli aggiornamenti apportati dal momento della creazione dello snapshot andranno persi. I metadati di un database ripristinato corrispondono a quelli del database al momento dello snapshot.

Il ripristino tramite snapshot elimina inoltre tutti i cataloghi full-text.

Limitazioni relative al ripristino

Il ripristino non è supportato nei casi seguenti:

  • Il database di origine contiene filegroup di sola lettura o compressi.

  • Tutti i file che erano in linea al momento della creazione dello snapshot non sono più in linea.

  • Attualmente è presente più di uno snapshot del database.

    Può essere presente solo lo snapshot che si sta ripristinando.

Prima di ripristinare un database, considerare gli aspetti seguenti:

  • Il ripristino di uno snapshot del database non consente di recuperare i supporti. A differenza di un normale set di backup, lo snapshot del database è una copia incompleta dei file del database. Se il database o lo snapshot del database è danneggiato, è improbabile che sia possibile eseguire il ripristino da uno snapshot. Anche quando possibile, è inoltre improbabile che il ripristino in caso di danneggiamento consenta di risolvere il problema.

  • Durante un'operazione di ripristino, sia lo snapshot che il database di origine non sono disponibili. Entrambi sono contrassegnati come in fase di ripristino. Se si verifica un errore durante l'operazione di ripristino, al nuovo avvio del database verrà eseguito un tentativo di completamento dell'operazione.

  • Poiché in caso di esecuzione corretta di un'operazione di ripristino il log viene ricreato automaticamente, Microsoft consiglia di eseguire il backup del log prima di ripristinare un database. Sebbene non sia possibile ripristinare il log originale per eseguire il rollforward del database, le informazioni del file di log originale saranno utili per ricostruire i dati persi.

  • Tramite il ripristino viene interrotta la catena di backup del log. Prima di eseguire backup del log del database ripristinato, è pertanto necessario eseguire un backup completo del database o il backup del file. Microsoft consiglia l'esecuzione di un backup completo del database.