Introduzione alle strategie di backup e ripristino in SQL Server

Lo scopo della creazione dei backup di SQL Server consiste nella possibilità di recuperare un database danneggiato. È tuttavia necessario personalizzare le procedure di backup e ripristino dei dati in base all'ambiente specifico e alle risorse disponibili. Per un utilizzo affidabile delle funzionalità di backup e ripristino è pertanto necessaria un'apposita strategia. Una strategia progettata in modo efficiente a tale scopo consente di ottimizzare la disponibilità dei dati e di ridurre al minimo le perdite di dati, tenendo presenti le esigenze aziendali specifiche.

Nota importanteImportante

Archiviare il database e i backup su dispositivi separati. In caso contrario, se nel dispositivo contenente il database si verifica un errore, i backup non saranno disponibili. L'archiviazione dei dati e dei backup su dispositivi separati migliora inoltre le prestazioni di I/O sia per la scrittura dei backup che per l'utilizzo in produzione del database.

Tale strategia prevede una parte relativa al backup e una parte relativa al ripristino. La parte della strategia relativa al backup definisce il tipo e la frequenza delle operazioni di backup, il tipo e la velocità dell'hardware necessario, le modalità di esecuzione di test dei backup, nonché i percorsi e le modalità di archiviazione dei relativi supporti, incluse le considerazioni relative alla protezione. La parte della strategia relativa al ripristino definisce il responsabile dell'esecuzione delle operazioni di ripristino e la modalità di esecuzione di tali operazioni in modo da realizzare gli obiettivi relativi alla disponibilità del database e ridurre al minimo il rischio di perdita dei dati. È consigliabile documentare le procedure di backup e ripristino e mantenerne una copia nella documentazione relativa all'esecuzione.

La progettazione di una strategia di backup e ripristino efficace richiede operazioni accurate di pianificazione, implementazione e testing. È necessario eseguire test. Una strategia di backup può essere considerata efficace solo dopo il completamento del ripristino dei backup in tutte le combinazioni incluse nella strategia. È necessario considerare una vasta gamma di fattori, inclusi i seguenti:

  • Obiettivi di produzione dell'organizzazione per i database, in particolar modo i requisiti relativi alla disponibilità e alla protezione dei dati dal rischio di perdita.

  • Caratteristiche di ogni database, ovvero dimensioni, tipo di utilizzo, tipo di contenuto, requisiti relativi ai dati e così via.

  • Vincoli relativi alle risorse, ad esempio hardware, personale, spazio per l'archiviazione dei supporti di backup, protezione fisica dei supporti archiviati e così via.

    [!NOTA]

    Il formato di archiviazione su disco di SQL Server è lo stesso sia negli ambienti a 64 bit sia negli ambienti a 32 bit. È pertanto possibile eseguire il backup e il ripristino tra ambienti a 32 bit e ambienti a 64 bit. Un backup creato in un'istanza del server in esecuzione in un ambiente può essere ripristinato in un'istanza del server in esecuzione in un altro ambiente.

Impatto del modello di recupero sul backup e sul ripristino

Le operazioni di backup e ripristino vengono eseguite nel contesto di un modello di recupero, ovvero una proprietà del database che consente di controllare la modalità di gestione del log delle transazioni. Il modello di recupero di un database determina inoltre i tipi di scenari di backup e ripristino supportati per il database. In genere, in un database viene utilizzato il modello di recupero con registrazione minima o il modello di recupero con registrazione completa. Il modello di recupero con registrazione completa può essere integrato passando al modello di recupero con registrazione minima delle operazioni bulk prima delle operazioni bulk. Per un'introduzione a questi modelli di recupero e alla loro influenza sulla gestione del log delle transazioni, vedere Gestione dei modelli di recupero e del log delle transazioni.

Il metodo di recupero migliore per un database dipende dalle esigenze aziendali. Per evitare la gestione del log delle transazioni e semplificare le operazioni di backup e ripristino, è possibile utilizzare il modello di recupero con registrazione minima. Per ridurre al minimo il rischio di perdita di dati, aumentando tuttavia il numero di operazioni amministrative, è possibile utilizzare il modello di recupero con registrazione completa. Per informazioni sull'effetto dei modelli di recupero sulle operazioni di backup e ripristino, vedere gli argomenti seguenti:

Progettazione della strategia di backup

Dopo aver selezionato un modello di recupero che soddisfi le esigenze aziendali per un determinato database, è necessario pianificare e implementare una strategia di backup corrispondente. La strategia ottimale dipende da una serie di fattori. Di seguito vengono riportati i più significativi:

  • Numero di ore giornaliere per cui è necessario garantire l'accesso delle applicazioni al database.

    Se è possibile prevedere un periodo di minore attività, è consigliabile pianificare i backup completi del database durante tale periodo.

  • Frequenza prevista per l'esecuzione di modifiche e aggiornamenti.

    Se le modifiche sono frequenti, considerare gli aspetti seguenti:

    • Nel modello di recupero con registrazione minima è consigliabile pianificare backup differenziali nei periodi intermedi tra i backup completi del database. Un backup differenziale consente di acquisire solo le modifiche successive all'ultimo backup completo del database.

    • Nel modello di recupero con registrazione completa è necessario pianificare backup frequenti del log. La pianificazione di backup differenziali nei periodi intermedi tra i backup completi consente di ridurre i tempi di ripristino limitando il numero di backup del log da ripristinare in seguito al ripristino dei dati.

  • Ambito previsto per le modifiche, ovvero solo in parti ridotte del database o in gran parte del database.

    Per un database di dimensioni estese in cui le modifiche sono concentrate in una parte dei file o dei filegroup, i backup parziali e/o i backup del file possono risultare utili. Per ulteriori informazioni, vedere Backup parziali e Backup completi di file.

  • Quantità di spazio su disco necessaria per un backup completo del database.

    Per ulteriori informazioni, vedere "Stima delle dimensioni di un backup completo del database" di seguito in questo argomento.

Stima delle dimensioni di un backup completo del database

Prima di implementare una strategia di backup e ripristino, è necessario prevedere la quantità di spazio su disco che verrà utilizzata da un backup completo del database. Con l'operazione di backup i dati contenuti nel database vengono copiati nel file di backup. Poiché il backup include soltanto i dati presenti nel database, ma non lo spazio inutilizzato, le dimensioni del backup risultano di solito inferiori a quelle del database originale. È possibile stimare le dimensioni di un backup completo del database tramite la stored procedure di sistema sp_spaceused. Per ulteriori informazioni, vedere sp_spaceused (Transact-SQL).

Pianificazione dei backup

Dopo aver stabilito i tipi di backup necessari e la frequenza di esecuzione per ogni tipo, è consigliabile pianificare backup regolari come parte di un piano di manutenzione per il database. Per informazioni sui piani di manutenzione e su come crearli per i backup del database e del log, vedere Manutenzione di database (Motore di database) e Creazione guidata piano di manutenzione.

Per creare un piano di manutenzione

Per creare e pianificare i processi

Test dei backup

Una strategia di ripristino può essere considerata efficace solo dopo l'esecuzione di test dei backup. È essenziale testare accuratamente la strategia di backup per ogni database ripristinando una copia del database in un sistema di prova. È necessario provare a ripristinare tutti i tipi di backup che si desidera utilizzare.

È consigliabile gestire un manuale operativo per ogni database, in cui indicare la posizione dei backup, i nomi degli eventuali dispositivi di backup e il tempo necessario per il ripristino dei backup di prova.