Panoramica del backup (SQL Server)

Si applica a:SQL Server

Questo articolo illustra il componente di backup di SQL Server. L'esecuzione dei backup del database di SQL Server è essenziale per la protezione dei dati. In questa discussione vengono analizzati i tipi di backup e le relative restrizioni. In questo argomento vengono inoltre presentati i dispositivi e i supporti di backup di SQL Server.

Terms

  • eseguire il backup [verbo]: Operazione di copia di dati o record di log da un database di SQL Server o dal relativo log delle transazioni in un dispositivo di backup, ad esempio un disco, per creare un backup dei dati o del log.

  • backup [sostantivo]: Copia dei dati di SQL Server utilizzabile per il recupero e il ripristino dei dati in seguito a errori. Un backup dei dati di SQL Server viene creato al livello di un database o di uno o più dei relativi file o filegroup. Non è possibile creare backup a livello di tabella. Per utilizzare il modello di recupero con registrazione completa, oltre al backup dei dati è necessario creare backup del log delle transazioni.

  • modello di recupero: Proprietà del database che controlla la manutenzione del log delle transazioni su un database. Sono tre i modelli di recupero disponibili: con registrazione minima, con registrazione completa e con registrazione minima delle operazioni bulk. Il modello di recupero del database ne determina i requisiti di backup e di ripristino.

  • ripristino: Processo multifase che copia tutti i dati e le pagine di log da un backup di SQL Server a un database specificato ed esegue il rollforward di tutte le transazioni registrate nel backup applicando le modifiche registrate in modo da aggiornare i dati.

Tipi di backup

  • backup di sola copia: Backup per utilizzo speciale indipendente dalla sequenza di backup convenzionali di SQL Server.

  • backup dei dati: Backup dei dati in un database completo (backup del database), database parziale (backup parziale) o set di file di dati o di filegroup (backup di file).

  • backup del database: Backup di un database. I backup completi del database rappresentano l'intero database al momento del completamento del backup. I backup differenziali del database contengono solo le modifiche apportate al database a partire dal backup del database più recente.

  • backup differenziale: Backup dei dati basato sull'ultimo backup completo di un database completo o parziale o di un set di file di dati o filegroup (base differenziale) che contiene solo gli extent di dati modificati rispetto alla base differenziale.

    Un backup parziale differenziale registra solo gli extent di dati che sono stati modificati nei filegroup dopo il backup parziale precedente, denominato base del backup differenziale.

  • backup completo: Backup dei dati che include tutti i dati in un database specifico o in un set di filegroup o file, oltre a una parte di log sufficiente al recupero di tali dati.

  • backup di log: Backup dei log delle transazioni che include tutti i record di log di cui non è stato eseguito il backup in un backup di log precedente (modello di recupero con registrazione completa).

  • backup di file: Backup di uno o più file o filegroup di database.

  • backup parziale: Contiene dati provenienti solo da una parte dei filegroup in un database, compresi i dati del filegroup primario, di ogni filegroup con accesso di lettura/scrittura e di eventuali file di sola lettura specificati opzionalmente.

Termini e definizioni relativi ai supporti di backup

  • dispositivo di backup: Dispositivo nastro o disco in cui vengono scritti i backup di SQL Server e da cui è possibile eseguirne il ripristino. I backup di SQL Server possono anche essere scritti in Archiviazione BLOB di Azure e viene usato il formato URL per specificare la destinazione e il nome del file di backup. Per altre informazioni, vedere Backup e ripristino di SQL Server con Archiviazione BLOB di Microsoft Azure.

  • supporti di backup: Uno o più nastri o file del disco in cui sono stati scritti uno o più backup.

  • set di backup: Contenuto di backup aggiunto a un set di supporti da un'operazione di backup completata.

  • gruppo di supporti Backup creati su un singolo dispositivo senza mirroring o su un set di dispositivi con mirroring in un set di supporti.

  • set di supporti: Raccolta ordinata di supporti di backup, nastri o file su disco, su cui una o più operazioni di backup hanno eseguito la scrittura usando un tipo e un numero fisso di dispositivi di backup.

  • set di supporti con mirroring: Più copie (mirror) di un set di supporti.

Compressione backup

SQL Server 2008 (10.0.x) Enterprise Edition e versioni successive supportano la compressione dei backup e SQL Server 2008 (10.0.x) e versioni successive possono ripristinare un backup compresso. SQL Server 2016 (13.x) Standard Edition e versioni successive supportano la compressione dei backup e il ripristino di backup compressi. Per altre informazioni, vedere Compressione dei backup (SQL Server).

Restrizioni alle operazioni di backup

Il backup può verificarsi mentre il database è online e in uso. Si applicano tuttavia le restrizioni seguenti:

Non è possibile eseguire il backup dei dati offline

Se si fa riferimento in modo implicito o esplicito a dati offline, l'operazione di backup ha esito negativo. Alcuni esempi comuni sono i seguenti:

  • Si richiede un backup completo del database, ma un filegroup del database è offline. Poiché tutti i filegroup vengono inclusi implicitamente in un backup completo del database, questa operazione ha esito negativo.

    Per eseguire un backup del database, è possibile utilizzare un backup del file e specificare solo i filegroup online.

  • Viene richiesto un backup parziale, ma un filegroup di lettura/scrittura è offline. Dato che tutti i filegroup di lettura/scrittura sono necessari per un backup parziale, l'operazione non riesce.

  • Si richiede un backup di file specifici, ma uno di tali file non è online. L'operazione ha esito negativo. Per eseguire il backup dei file online, è possibile escludere il file offline dall'elenco dei file e ripetere l'operazione.

In genere, un backup del log riesce anche se uno o più file di dati non sono disponibili. Tuttavia, se uno o più file contengono modifiche con registrazione minima delle operazioni bulk apportate nel modello di recupero con registrazione minima delle operazioni bulk, è necessario che tutti i file siano online perché il backup riesca.

Restrizioni di concorrenza

SQL Server utilizza un processo di backup online per consentire un backup del database mentre questo è in uso. Durante un backup, è possibile eseguire la maggior parte delle operazioni, ad esempio istruzioni INSERT, UPDATE o DELETE. Tuttavia, se si tenta di avviare un'operazione di backup durante la creazione o l'eliminazione di un file di database, l'operazione verrà rimandata fino al completamento dell'operazione di creazione o di eliminazione, oppure verrà annullata a causa di un timeout.

Le operazioni che non possono essere eseguite durante un backup del database o del log delle transazioni sono le seguenti:

  • Operazioni di gestione dei file, ad esempio l'istruzione ALTER DATABASE con le opzioni ADD FILE o REMOVE FILE.

  • Compattazione di database o file, incluse operazioni di compattazione automatica.

  • Se durante l'esecuzione di un'operazione di backup si tenta di creare o eliminare un file di database, l'operazione di creazione o eliminazione non riuscirà.

Se un'operazione di backup si sovrappone a un'operazione di gestione di file o di compattazione, si verifica un conflitto. Indipendentemente dall'operazione iniziata per prima tra quelle in conflitto, la seconda operazione attende il timeout del blocco impostato dalla prima operazione. Il periodo di timeout dipende da un'impostazione di timeout di sessione. Se il blocco viene rilasciato entro il periodo di timeout, la seconda operazione continua. Se il periodo di timeout scade, la seconda operazione non viene eseguita.

Attività correlate

Dispositivi e supporti di backup

Creare un backup

Nota

Per eseguire backup parziali o di sola copia è necessario usare l'istruzione BACKUP Transact-SQL rispettivamente con l'opzione PARTIAL o COPY_ONLY.