Ripristini di database completi (modello di recupero con registrazione minima)Complete Database Restores (Simple Recovery Model)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

L'obiettivo di un ripristino completo del database è il ripristino dell'intero database.In a complete database restore, the goal is to restore the whole database. L'intero database è offline per la tutta la durata del ripristino.The whole database is offline for the duration of the restore. Prima che sia possibile portare online una o più parti del database, tutti i dati vengono recuperati fino a un punto coerente 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.Before any part of the database can come online, all data is recovered to a consistent point in which all parts of the database are at the same point in time and no uncommitted transactions exist.

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.Under the simple recovery model, the database cannot be restored to a specific point in time within a specific backup.

Importante

È consigliabile evitare di collegare o ripristinare database provenienti da origini sconosciute o non attendibili.We recommend that you do not attach or restore databases from unknown or untrusted sources. Questi database potrebbero contenere malware che può eseguire codice Transact-SQLTransact-SQL indesiderato o causare errori modificando lo schema o la struttura fisica di database.These databases could contain malicious code that might execute unintended Transact-SQLTransact-SQL code or cause errors by modifying the schema or the physical database structure. Prima di usare un database da un'origine sconosciuta o non attendibile, eseguire DBCC CHECKDB sul database in un server non di produzione ed esaminare anche il codice contenuto nel database, ad esempio le stored procedure o altro codice definito dall'utente.Before you use a database from an unknown or untrusted source, run DBCC CHECKDB on the database on a nonproduction server and also examine the code, such as stored procedures or other user-defined code, in the database.

Contenuto dell'argomentoIn this Topic:

Nota

Per informazioni sul supporto dei backup di versioni precedenti di SQL ServerSQL Server, vedere la sezione "Supporto della compatibilità" di RESTORE (Transact-SQL).For information about support for backups from earlier versions of SQL ServerSQL Server, see the "Compatibility Support" section of RESTORE (Transact-SQL).

Panoramica del ripristino del database nel modello di recupero con registrazione minima Overview of Database Restore Under the Simple Recovery Model

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 si desideri o meno ripristinare un backup differenziale del database.A full database restore under the simple recovery model involves one or two RESTORE statements, depending on whether you want to restore a differential database backup. Se si utilizza solo un backup di database completo, ripristinare unicamente il backup più recente come illustrato nella figura seguente.If you are using only a full database backup, just restore the most recent backup, as shown in the following illustration.

Ripristino solo di un backup completo del databaseRestoring only a full database backup

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.If you are also using a differential database backup, restore the most recent full database backup without recovering the database, and then restore the most recent differential database backup and recover the database. Questo processo viene illustrato nella figura seguente.The following illustration shows this process.

Ripristino di backup completi e differenziali del databaseRestoring full and differential database backups

Nota

Se si prevede di ripristinare un backup del database in un'istanza del server diversa, vedere Copiare database tramite backup e ripristino.If you plan to restore a database backup onto a different server instance, see Copy Databases with Backup and Restore.

Sintassi Transact-SQL di base per RESTORE Basic Transact-SQL RESTORE Syntax

La sintassi di base di Transact-SQLTransact-SQLRESTORE per il ripristino di un backup di database completo è la seguente:The basic Transact-SQLTransact-SQLRESTORE syntax for restoring a full database backup is:

RESTORE DATABASE nome_database FROM dispositivo_backup [ WITH NORECOVERY ]RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

Nota

Utilizzare WITH NORECOVERY se si desidera ripristinare anche un backup differenziale del database.Use WITH NORECOVERY if you plan to also restore a differential database backup.

La sintassi di base di RESTORE per il ripristino di un backup del database è la seguente:The basic RESTORE syntax for restoring a database backup is:

RESTORE DATABASE nome_database FROM dispositivo_backup WITH RECOVERYRESTORE DATABASE database_name FROM backup_device WITH RECOVERY

Esempio (Transact-SQL) Example (Transact-SQL)

Nell'esempio seguente viene innanzitutto illustrato come utilizzare l'istruzione BACKUP per creare un backup completo del database e un backup differenziale del database AdventureWorks2012AdventureWorks2012 .The following example first shows how to use the BACKUP statement to create a full database backup and a differential database backup of the AdventureWorks2012AdventureWorks2012 database. Questi backup vengono quindi ripristinati in sequenza.The example then restores these backups in sequence. Il database è ripristinato con lo stesso stato del momento in cui è stato completato il backup differenziale del database.The database is restored to its state as of the time that the differential database backup finished.

Nell'esempio seguente vengono illustrate le opzioni fondamentali di una sequenza di ripristino per lo scenario di ripristino completo del database.The example shows the critical options in a restore sequence for the complete database restore scenario. 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.A restore sequence consists of one or more restore operations that move data through one or more of the phases of restore. La sintassi e i dettagli non rilevanti sono stati omessi.Syntax and details that are not relevant to this purpose are omitted. Quando si recupera un database, è consigliabile specificare in modo esplicito l'opzione RECOVERY per maggiore chiarezza, anche se si tratta dell'opzione predefinita.When you recover a database, we recommend explicitly specifying the RECOVERY option for clarity, even though it is the default.

Nota

L'esempio inizia con un'istruzione ALTER DATABASE che imposta il modello di recupero su SIMPLE.The example starts with an ALTER DATABASE statement that sets the recovery model to SIMPLE.

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

Per ripristinare un backup completo del databaseTo restore a full database backup

Vedere ancheSee Also

RESTORE (Transact-SQL) RESTORE (Transact-SQL)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL) sp_addumpdevice (Transact-SQL)
Backup completo del database (SQL Server) Full Database Backups (SQL Server)
Backup differenziali (SQL Server) Differential Backups (SQL Server)
Panoramica del backup (SQL Server) Backup Overview (SQL Server)
Panoramica del ripristino e del recupero (SQL Server)Restore and Recovery Overview (SQL Server)