Procedura: Ripristino di un database con un nuovo nome e una nuova posizione (Transact-SQL)
Data aggiornamento: 14 aprile 2006
In questo argomento viene descritta la procedura per il ripristino di un database con un nuovo percorso e, facoltativamente, un nuovo nome.
![]() |
---|
È consigliabile non collegare o ripristinare database da origini sconosciute o non attendibili. Questi database potrebbero contenere malware che può eseguire codice Transact-SQL imprevisto o causare errori tramite la modifica dello schema o della struttura fisica del database. Prima di utilizzare un database da un'origine sconosciuta o non attendibile, eseguire DBCC CHECKDB sul database in un server non di produzione ed esaminare il codice nel database, ad esempio le stored procedure o altro codice definito dall'utente. |
Per ripristinare un database con un nuovo nome
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:
Il nuovo nome del database.
[!NOTA] Se si ripristina il database in una diversa istanza del server, è possibile scegliere di utilizzare il nome originale anziché un nuovo nome.
La periferica di backup da cui viene ripristinato il backup completo del database.
La clausola NORECOVERY, se sono disponibili backup del log delle transazioni da applicare dopo il ripristino del backup dei file. 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.La clausola MOVE per ogni file da ripristinare in una nuova posizione, se i nomi dei file esistono già. Ad esempio, può essere necessario creare una copia di un database esistente nello stesso server a scopo di prova. In questo caso, poiché i file del database avrebbero lo stesso nome, è necessario specificare nomi di file diversi al momento della creazione della copia del database durante l'operazione di ripristino.
La sintassi della clausola MOVE è la seguente:
MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
[ ,...n ] [ , ]
Dove logical_file_name_in_backup è il nome di un file di dati o di log nel set di backup e operating_system_file_name è il percorso in cui il file verrà ripristinato. n è un segnaposto che indica la possibilità di specificare istruzioni MOVE aggiuntive. Specificare un'istruzione MOVE per ogni file logico da ripristinare dal set di backup in un nuovo percorso.[!NOTA] Per ottenere un elenco dei file logici del set di backup, utilizzare l'istruzione RESTORE FILELISTONLY.
Esempio
In questo esempio viene creato un nuovo database denominato MyAdvWorks
. MyAdvWorks
è una copia del database AdventureWorks
esistente che include due file: AdventureWorks_Data
e AdventureWorks_Log
. Poiché il database AdventureWorks
esiste già, è necessario spostare i file presenti nel backup durante l'operazione di ripristino. L'istruzione RESTORE FILELISTONLY
viene utilizzata per determinare il numero e i nomi dei file del database da ripristinare.
[!NOTA] Per un esempio relativo alla creazione di un backup completo del database AdventureWorks, vedere Procedura: Creazione di un backup completo del database (Transact-SQL).
[!NOTA] Gli esempi di backup e di ripristino del log delle transazioni, inclusi i ripristini temporizzati, utilizzano il database
MyAdvWorks_FullRM
creato daAdventureWorks
esattamente come nell'esempio seguente basato suMyAdvWorks
. È tuttavia necessario che il databaseMyAdvWorks_FullRM
risultante sia modificato in modo da utilizzare il modello di recupero con registrazione completa,ALTER DATABASE MyAdvWorks_FullRM SET RECOVERY FULL
.
USE master
GO
-- First determine the number and names of the files in the backup.
-- AdventureWorks_Backup is the name of the backup device.
RESTORE FILELISTONLY
FROM AdventureWorks_Backup
-- Restore the files for MyAdvWorks.
RESTORE DATABASE MyAdvWorks
FROM AdventureWorks_Backup
WITH RECOVERY,
MOVE 'AdventureWorks_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf',
MOVE 'AdventureWorks_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf'
GO
Vedere anche
Concetti
Gestione dei metadati quando si rende disponibile un database in un'altra istanza del server
Considerazioni sulla protezione per il backup e il ripristino
Copia di database tramite backup e ripristino
Altre risorse
RESTORE (Transact-SQL)
Esercitazione su SQL Server Management Studio