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.
Importante: |
---|
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
Eseguire facoltativamente l'istruzione RESTORE FILELISTONLY per stabilire il numero e i nomi dei file nel backup completo del database.
Eseguire l'istruzione RESTORE DATABASE per ripristinare il backup completo del database, specificando:
- Nome del database da ripristinare.
- Periferica di backup da cui verrà ripristinato il backup completo del database.
- Clausola MOVE per ogni file da ripristinare in una nuova posizione.
- Clausola NORECOVERY.
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.
- Periferica 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
Vedere anche
Concetti
Copia di database tramite backup e ripristino
Altre risorse
RESTORE (Transact-SQL)
Esercitazione su SQL Server Management Studio