Condividi tramite


Funzionamento dei backup differenziali

 Le informazioni contenute in questo argomento sono rilevanti per tutti i tipi di database.

Un backup differenziale si basa sul backup completo precedente più recente, noto come base del backup differenziale. Un backup differenziale include solo i dati modificati rispetto alla base differenziale.

Le dimensioni di un backup differenziale dipendono dalla quantità di dati modificata rispetto alla base. In genere, meno recente è la base, maggiori saranno le dimensioni di un nuovo backup differenziale. Un determinato backup differenziale acquisisce lo stato degli extent modificati nel momento in cui viene creato il backup. Se si crea una serie di backup differenziali, è probabile che gli extent aggiornati di frequente contengano dati diversi in ogni backup differenziale. A causa dell'aumento delle dimensioni dei backup differenziali, il ripristino di un backup di questo tipo può comportare un notevole aumento del tempo necessario per il ripristino di un database. È consigliabile pertanto eseguire un nuovo backup completo a intervalli prestabiliti per creare una nuova base differenziale per i dati. È ad esempio possibile eseguire un backup completo settimanale dell'intero database, ovvero un backup completo del database, seguito da una serie regolare di backup differenziali del database nell'arco della settimana.

Nella figura seguente viene illustrato il funzionamento di un backup differenziale. Nella figura sono illustrati 24 extent di dati, sei dei quali sono stati modificati. Il backup differenziale contiene solo questi sei extent di dati. L'operazione di backup differenziale è basata su una pagina della mappa di bit contenente un bit per ogni extent. Per ogni extent aggiornato rispetto alla base, il bit viene impostato su 1 nella mappa di bit.

La mappa di bit differenziale identifica gli extent modificati

[!NOTA]

La mappa di bit differenziale non viene aggiornata da un backup di sola copia. Un backup di sola copia non può pertanto fungere da base differenziale o backup differenziale. Un backup di sola copia non influisce sui backup differenziali successivi.

Un backup differenziale eseguito entro un periodo di tempo relativamente breve dalla base in genere ha dimensioni decisamente più ridotte rispetto alla base differenziale, il che consente di limitare lo spazio di archiviazione e il tempo di esecuzione del backup. Con il passare del tempo, tuttavia, le modifiche apportate a un database comportano un aumento delle differenze tra tale database e una determinata base differenziale. In genere, l'aumento delle dimensioni del backup differenziale è direttamente proporzionale alla lunghezza del periodo che intercorre tra l'esecuzione di un backup differenziale e la creazione della relativa base. Questo significa che, con il passare del tempo, le dimensioni dei backup differenziali possono avvicinarsi a quelle della base differenziale. Un backup differenziale di notevoli dimensioni non offre più i vantaggi correlati alla maggiore rapidità e allo spazio di archiviazione ridotto.

Prima di ripristinare un backup differenziale, è necessario eseguire il ripristino della relativa base. Ripristinare quindi solo il backup differenziale più recente per riportare il database allo stato esistente nel momento in cui è stato creato tale backup differenziale. In genere, si ripristina il backup completo più recente, seguito dal backup differenziale più recente basato su tale backup completo.

Quando si creano e si ripristinano backup differenziali, il database viene considerato come un set di file in SQL Server. Ciò influisce sul contenuto dei backup differenziali e sul modo in cui vengono utilizzati insieme ai backup di database e di file. Il Motore di database di SQL Server è stato progettato in modo da semplificare la gestione di scenari comuni ed evitare comportamenti imprevisti.

Per ulteriori informazioni, vedere Base di un backup differenziale.