Procedura: Ripristino dei file in una nuova posizione (Transact-SQL)

In questo argomento viene illustrata la procedura per ripristinare i file in una nuova posizione.

Nota importanteImportante

L'amministratore di sistema che esegue il ripristino dei file deve essere l'unico utente collegato al database da ripristinare.

Per ripristinare i file in una nuova posizione

  1. Eseguire facoltativamente l'istruzione RESTORE FILELISTONLY per stabilire il numero e i nomi dei file nel backup completo del database.

  2. Eseguire l'istruzione RESTORE DATABASE per ripristinare il backup completo del database, specificando:

    • Nome del database da ripristinare.

    • Dispositivo di backup da cui verrà ripristinato il backup completo del database.

    • Clausola MOVE per ogni file da ripristinare in una nuova posizione.

    • Clausola NORECOVERY.

  3. Se i file sono stati modificati dopo la creazione del backup, eseguire l'istruzione RESTORE LOG per applicare il backup del log delle transazioni, specificando:

    • Nome del database a cui verrà applicato il log delle transazioni.

    • Dispositivo di backup da cui verrà ripristinato il backup del log delle transazioni.

    • Clausola NORECOVERY se è disponibile un altro backup del log delle transazioni successivo a quello corrente. In caso contrario, specificare la clausola RECOVERY.

      I backup dei log delle transazioni, se utilizzati, devono coprire il periodo intercorso dall'ultimo backup dei file e dei filegroup.

Esempio

In questo esempio viene illustrato come ripristinare in nuove posizioni nell'unità D: due file del database MyNwind originariamente memorizzati nell'unità C:. Verranno inoltre applicati due log delle transazioni per ripristinare il database all'ora corrente. L'istruzione RESTORE FILELISTONLY viene utilizzata per stabilire il numero e i nomi logici e fisici dei file del database da ripristinare.

USE master
GO
-- First determine the number and names of the files in the backup.
RESTORE FILELISTONLY
   FROM MyNwind_1
-- Restore the files for MyNwind.
RESTORE DATABASE MyNwind
   FROM MyNwind_1
   WITH NORECOVERY,
   MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf', 
   MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf'
GO
-- Apply the first transaction log backup.
RESTORE LOG MyNwind
   FROM MyNwind_log1
   WITH NORECOVERY
GO
-- Apply the last transaction log backup.
RESTORE LOG MyNwind
   FROM MyNwind_log2
   WITH RECOVERY
GO