Condividi tramite


Backup completo del database

Un backup completo del database esegue il backup dell'intero database. Questo include una parte del log delle transazioni sufficiente a consentire il recupero del backup completo del database. I backup completi del database rappresentano il database al momento del completamento del backup.

I backup del database sono di facile utilizzo. Un backup completo del database contiene tutti i dati presenti nel database. Per un database di piccole dimensioni il cui backup può essere eseguito rapidamente, è consigliabile eseguire solo backup completi. Tuttavia, quando le dimensioni del database aumentano, i backup completi richiedono più tempo e più spazio di archiviazione. Per un database di grandi dimensioni può pertanto essere utile integrare i backup completi del database con backup differenziali. Per ulteriori informazioni, vedere Backup differenziale del database.

Nota

TRUSTWORTHY è impostato su OFF in un backup del database. Per informazioni su come impostare TRUSTWORTHY su ON, vedere ALTER DATABASE (Transact-SQL).

Utilizzo dei backup del database nel modello di recupero con registrazione minima

Se si utilizza il modello di recupero con registrazione minima, dopo ogni backup, il database è esposto al rischio di perdita di dati nel caso si verifichi un'emergenza. Questo rischio aumenta a ogni aggiornamento fino al backup completo successivo, quando il rischio torna a essere zero e inizia un nuovo ciclo.

Con il modello di recupero con registrazione minima, il rischio di perdita dei dati cresce nel tempo che intercorre tra un backup e l'altro. Nella figura seguente viene illustrato il rischio di perdita di dati per una strategia di backup che utilizza solo backup completi di database.

Rischio di perdita di lavoro tra due backup del database

Esempio

Nell'esempio seguente viene illustrato come creare un backup completo del database utilizzando WITH FORMAT per sovrascrivere eventuali backup esistenti e creare un nuovo set di supporti.

-- Back up the AdventureWorks2008R2 database to new media set.
BACKUP DATABASE AdventureWorks2008R2
    TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2SimpleRM.bak' 
    WITH FORMAT;
GO

Utilizzo dei backup del database nel modello di recupero con registrazione completa

Per i database che utilizzano il modello di recupero con registrazione completa e il modello di recupero con registrazione minima delle operazioni bulk, sono necessari i backup dei log delle transazioni. Nella figura seguente viene illustrata la strategia di backup più semplice possibile quando si utilizza il modello di recupero con registrazione completa.

Serie di backup completi del database e backup del log

Nota

Se sono presenti due o più database che utilizzano il modello di recupero con registrazione completa e devono essere consistenti da un punto di vista logico, potrebbe essere necessario implementare procedure speciali per verificare la recuperabilità di questi database. Per ulteriori informazioni, vedere Utilizzo delle transazioni contrassegnate (modello di recupero con registrazione completa).

Per informazioni su come creare i backup dei log, vedere Utilizzo dei backup del log delle transazioni.

Esempio

Nell'esempio seguente viene illustrato come creare un backup completo del database utilizzando WITH FORMAT per sovrascrivere eventuali backup esistenti e creare un nuovo set di supporti. Viene quindi eseguito il backup del log delle transazioni. In una situazione reale sarebbe necessario eseguire una serie di backup del log regolari. In questo caso il database di esempio AdventureWorks2008R2 viene impostato per l'utilizzo del modello di recupero con registrazione completa.

USE master;
ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL;
GO
-- Back up the AdventureWorks2008R2 database to new media set (backup set 1).
BACKUP DATABASE AdventureWorks2008R2
  TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2FullRM.bak' 
  WITH FORMAT;
GO
--Create a routine log backup (backup set 2).
BACKUP LOG AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2FullRM.bak';
GO

Creazione di un backup completo del database

Un backup completo del database viene creato con un'unica operazione e viene in genere pianificato per essere eseguito a intervalli prestabiliti.

La sintassi di BACKUP necessaria per la creazione di un backup completo del database è la seguente:

BACKUP DATABASE database_name TO backup_device

Per creare un backup completo del database

Per pianificare i processi di backup

Utilizzo dei backup differenziali del database

Un backup del database può fungere da base differenziale per i backup differenziali del database. Ciò consente di integrare un backup del database con una breve serie di backup differenziali del database. Per ulteriori informazioni, vedere Utilizzo dei backup differenziali e Backup differenziale del database.

Utilizzo di un backup completo del database per ripristinare il database

È possibile ricreare un intero database in un solo passaggio ripristinando il database da un backup completo del database in qualsiasi posizione. Nel backup è inclusa una parte del log delle transazioni sufficiente per consentire il recupero del database fino al momento in cui è terminato il backup. Quando il database viene recuperato, viene effettuato il rollback delle transazioni di cui non è stato eseguito il commit. Lo stato del database ripristinato corrisponde allo stato del database originale al termine del backup ripristinato, escluse eventuali transazioni di cui non è stato eseguito il commit.

L'operazione di ripristino crea il database nella destinazione specificata. Se il database esiste già nella posizione specificata, l'operazione di ripristino sovrascrive il database esistente. Per evitare di sovrascrivere un database esistente, specificare un nome diverso per il database ripristinato.

Per ulteriori informazioni, vedere Esecuzione di un ripristino di database completo (modello di recupero con registrazione minima) o Esecuzione di un ripristino completo del database (Modello di recupero con registrazione completa).