Condividi tramite


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.

ms190447.security(it-it,SQL.90).gifNota sulla protezione:
È 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

  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:

    • 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 da AdventureWorks esattamente come nell'esempio seguente basato su MyAdvWorks. È tuttavia necessario che il database MyAdvWorks_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

Guida in linea e informazioni

Assistenza su SQL Server 2005