Recupero di un database senza ripristino dei dati

 Le informazioni contenute in questo argomento sono rilevanti solo per i database di SQL Server che includono più filegroup.

In genere, i dati vengono ripristinati prima di essere recuperati. È tuttavia possibile recuperare il database senza ripristinare un backup, ad esempio nel caso di file di sola lettura che sono consistenti con il database. Questa operazione viene definita ripristino con solo recupero. Un ripristino con solo recupero è adatto nei casi in cui i dati sono già consistenti con il database ed è necessario solo renderli disponibili. L'obiettivo è completare il recupero e attivare la modalità in linea per i dati interessati.

Un'operazione di ripristino con solo recupero attiva la modalità in linea per i dati del filegroup non in linea. Non è prevista alcuna fase di copia dei dati, rollforward o rollback. Per informazioni sulle fasi del ripristino, vedere Informazioni sul funzionamento dei processi di ripristino e recupero dei backup in SQL Server.

Un ripristino con solo recupero può essere eseguito per un file, un filegroup o l'intero database, come descritto di seguito:

  • Un ripristino di file con solo recupero può risultare utile nella situazione seguente:

    Viene eseguito il ripristino a fasi di un database. Dopo il ripristino del filegroup primario, uno o più file non ripristinati sono consistenti con il nuovo stato del database, ad esempio perché è stato mantenuto l'accesso in sola lettura per un certo periodo di tempo. È pertanto sufficiente recuperare questi file senza eseguire un'operazione di copia dei dati.

    La sintassi dell'istruzione RESTORE per un ripristino di file con solo recupero è la seguente:

    RESTORE DATABASE database_name { FILE **=**logical_file_name | FILEGROUP **=**logical_filegroup_name }[ ,...n ] WITH RECOVERY

  • Un ripristino di database con solo recupero può risultare utile nelle situazioni seguenti:

    • Il database non è stato recuperato durante il ripristino dell'ultimo backup in una sequenza di ripristino, ma ora si desidera recuperare il database per attivare la modalità in linea.

    • Il database è in modalità standby e si desidera renderlo aggiornabile senza applicare un ulteriore backup del log.

    La sintassi dell'istruzione RESTORE per un ripristino di database con solo recupero è la seguente:

    RESTORE DATABASE database_name WITH RECOVERY

[!NOTA]

La clausola FROM = <backup_device> non viene utilizzata per i ripristini con solo recupero perché non è necessario utilizzare un backup.

Per recuperare un database senza ripristinare i dati

Esempi

Nell'esempio seguente viene illustrato un ripristino con solo recupero dei file di un filegroup secondario, SalesGroup2, nel database Sales. Il filegroup primario è già stato ripristinato durante la fase iniziale di un ripristino a fasi e SalesGroup2 è consistente con il filegroup primario ripristinato. Per recuperare questo filegroup e attivare la modalità in linea, è sufficiente utilizzare una singola istruzione.

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;

Completamento di uno scenario di ripristino a fasi mediante un ripristino con solo recupero