Share via


Esecuzione di un ripristino di database completo (modello di recupero con registrazione minima)

L'obiettivo di un ripristino completo del database è il ripristino dell'intero database. L'intero database non è in linea per la tutta la durata del ripristino. Prima che sia possibile portare in linea una o più parti del database, tutti i dati vengono recuperati fino a un punto consistente in cui tutte le parti del database sono aggiornate allo stesso punto nel tempo e non sono presenti transazioni di cui non è stato eseguito il commit.

Il modello di recupero con registrazione minima non consente di ripristinare il database fino a uno specifico punto nel tempo all'interno di un determinato backup.

Ripristino di un intero database

Se si utilizza il modello di recupero con registrazione minima, il ripristino completo del database richiede solo una o due istruzioni RESTORE, a seconda che sia o meno necessario ripristinare un backup differenziale del database.

Se si utilizza solo un backup completo del database, è sufficiente ripristinare il backup più recente. Se si utilizza anche un backup differenziale del database, ripristinare il backup completo del database più recente senza recuperare il database e quindi ripristinare il backup differenziale del database più recente e recuperare il database.

Quando si ripristina completamente un database, è necessario utilizzare una sequenza di ripristino. Nell'esempio seguente vengono illustrate le opzioni fondamentali di una sequenza di ripristino per lo scenario di ripristino completo del database. Una sequenza di ripristino è costituita da una o più operazioni di ripristino che gestiscono lo spostamento dei dati attraverso una o più fasi del ripristino. La sintassi e i dettagli non rilevanti verranno omessi.

Viene ripristinato lo stato originale del database, come avviene nel caso di un backup completo del database. Quando si recupera un database, è consigliabile specificare in modo esplicito l'opzione RECOVERY per maggiore chiarezza, anche se si tratta dell'opzione predefinita. .

Esempio

Nell'esempio seguente viene innanzitutto illustrato come utilizzare l'istruzione BACKUP per creare un backup completo del database e un backup differenziale del database AdventureWorks. Questi backup vengono quindi ripristinati in sequenza.

[!NOTA] L'esempio inizia con un'istruzione ALTER DATABASE che imposta il modello di recupero su SIMPLE.

USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks database.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=2, RECOVERY;
GO

Per ripristinare un backup completo del database

La sintassi di base di RESTORE per il ripristino di un backup del database è la seguente:

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

[!NOTA] Utilizzare WITH NORECOVERY se si desidera ripristinare anche un backup differenziale del database.

Per ripristinare un backup differenziale del database

La sintassi di base di RESTORE per il ripristino di un backup differenziale del database è la seguente:

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

Per ripristinare un backup utilizzando SMO (SQL Server Management Objects)

Supporto per i backup da versioni precedenti di SQL Server

In SQL Server 2005 è possibile ripristinare un backup del database creato utilizzando SQL Server versione 7.0, SQL Server 2000 o SQL Server 2005. I backup dei database master, model e msdb creati utilizzando SQL Server 7.0 o SQL Server 2000, tuttavia, non possono essere ripristinati tramite SQL Server 2005.

SQL Server 2005 utilizza un percorso predefinito diverso rispetto alle versioni precedenti. Per ripristinare un database creato nel percorso predefinito di SQL Server 7.0 o SQL Server 2000 mediante backup, è pertanto necessario utilizzare l'opzione MOVE. Per informazioni sul nuovo percorso predefinito, vedere Posizioni dei file per le istanze predefinite e denominate di SQL Server 2005.

[!NOTA] I backup di database creati utilizzando SQL Server versione 6.5 o precedente non hanno un formato compatibile e non possono essere ripristinati in SQL Server 2005. Per informazioni su come aggiornare a SQL Server 2005 un database creato utilizzando SQL Server 6.5 o versioni precedenti, vedere Copia di database da SQL Server 6.5 o versioni precedenti.

Vedere anche

Concetti

Backup completo del database
Backup differenziale del database
Backup in base al modello di recupero con registrazione minima
Riduzione dei tempi di recupero durante il ripristino di un database
Restrizioni relative al ripristino in base al modello di recupero con registrazione minima
Informazioni sul funzionamento dei processi di ripristino e recupero dei backup in SQL Server

Altre risorse

RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Utilizzo di sequenze di ripristino per database di SQL Server

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Nuovo contenuto:
  • Inserimento della sintassi di base di RESTORE nella sezione "Ripristino di un intero database".
Contenuto modificato:
  • Modifica delle istruzioni BACKUP e RESTORE di esempio per specificare la periferica di backup fisica utilizzando l'opzione DISK, anziché una periferica di backup logica.