Condividi tramite


Procedura: Ripristino di un backup differenziale di database (Transact-SQL)

In questo argomento viene illustrato come ripristinare un backup differenziale di database.

Per ripristinare un backup differenziale di database

  1. Eseguire l'istruzione RESTORE DATABASE, specificando la clausola NORECOVERY, per ripristinare il backup completo del database precedente al backup differenziale del database. Per ulteriori informazioni, vedere Procedura: Ripristino di un backup completo.

  2. Eseguire l'istruzione RESTORE DATABASE per ripristinare il backup differenziale del database, specificando:

    • Il nome del database a cui si riferisce il backup differenziale del database.

    • Il dispositivo di backup da cui viene ripristinato il backup differenziale del database.

    • La clausola NORECOVERY, se sono presenti backup del log delle transazioni da applicare dopo il ripristino del backup differenziale del database. In caso contrario, specificare la clausola RECOVERY.

  3. Con il modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk, tramite il ripristino di un backup differenziale del database viene ripristinato il database fino al punto in cui è stato completato il backup differenziale del database. Per eseguire il recupero fino al momento dell'errore, applicare tutti i backup del log delle transazioni creati dopo la creazione dell'ultimo backup differenziale del database. Per ulteriori informazioni, vedere Procedura: Applicazione del backup di un log delle transazioni (Transact-SQL).

Esempio

A. Ripristino di un backup del database e di un backup differenziale del database

Nell'esempio seguente vengono ripristinati un backup del database e un backup differenziale del database MyAdvWorks.

-- Assume the database is lost, and restore full database, 
-- specifying the original full database backup and NORECOVERY, 
-- which allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on 
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH FILE = 2,
   RECOVERY
GO

B. Ripristino di un backup del database, di un backup differenziale del database e di un backup del log delle transazioni

In questo esempio vengono ripristinati un backup, un backup differenziale e un backup del log delle transazioni del database MyAdvWorks.

-- Assume the database is lost at this point. Now restore the full 
-- database. Specify the original full database backup and NORECOVERY.
-- NORECOVERY allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on 
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
   FROM MyAdvWorks_1
   WITH FILE = 2,
   NORECOVERY
GO
-- Now restore each transaction log backup created after
-- the differential database backup.
RESTORE LOG MyAdvWorks
   FROM MyAdvWorks_log1
   WITH NORECOVERY
GO
RESTORE LOG MyAdvWorks
   FROM MyAdvWorks_log2
   WITH RECOVERY
GO