Backup e ripristino di database SQL Server
Questo argomento descrive i vantaggi del backup di database SQL Server, dei termini di backup e ripristino di base e introduce strategie di backup e ripristino per SQL Server e considerazioni sulla sicurezza per SQL Server backup e ripristino.
Il componente Backup e ripristino di SQL Server garantisce una misura di sicurezza essenziale per proteggere i dati critici archiviati nei database di SQL Server. Per ridurre al minimo il rischio di perdita irreparabile dei dati, è necessario eseguire il backup dei database a intervalli regolari per preservare le modifiche ai dati. Una strategia di backup e ripristino ben pianificata aiuta a proteggere i database dalla perdita di dati dovuta a vari errori. Testare la strategia ripristinando un set di backup e poi recuperando il database per prepararsi a rispondere in modo efficace a una situazione di emergenza.
Oltre alle risorse di archiviazione locale per l'archiviazione di backup, SQL Server supporta anche il backup e il ripristino dal servizio Archiviazione BLOB di Azure. Per altre informazioni, vedere Backup e ripristino di SQL Server con il servizio di archiviazione BLOB di Azure.
Vantaggi
Il backup dei database di SQL Server, l'esecuzione di procedure di ripristino dei test nei backup e l'archiviazione di copie di backup in una posizione sicura e fuori sito consente di proteggere la perdita di dati potenzialmente irreversibile.
Importante
Questo è l'unico modo per proteggere in modo affidabile i dati SQL Server.
Con backup validi di un database, è possibile recuperare i dati a seguito di molti tipi di guasti ed errori, quali:
Errori di funzionamento dei supporti.
Errori degli utenti, ad esempio l'eliminazione accidentale di una tabella.
Errori hardware, ad esempio un'unità disco danneggiata o la perdita definitiva di un server.
Calamità naturali o altre emergenze gravi. Tramite il backup di SQL Server nel servizio Archiviazione BLOB di Azure, è possibile creare un backup esterno in un'area diversa dalla posizione locale da usare in caso si venga colpiti da una calamità naturale.
Inoltre, i backup di un database sono utili per scopi amministrativi di routine, ad esempio la copia di un database da un server a un altro, la configurazione Always On gruppi di disponibilità o il mirroring del database e l'archiviazione.
Componenti e concetti
eseguire il backup
Copia i dati o i record di log da un database SQL Server o dal relativo log delle transazioni in un dispositivo di backup, ad esempio un disco, per creare un backup dei dati o un backup del log.
backup
Copia dei dati utilizzabile per il ripristino e il recupero in seguito a un errore. I backup di un database possono essere utilizzati anche per ripristinare una copia del database in una nuova posizione.
dispositivo di backup
Dispositivo disco o nastro nel quale vengono scritti i backup di SQL Server e da cui è possibile eseguirne il ripristino. I backup di SQL Server possono anche essere scritti in un servizio 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 il servizio di archiviazione BLOB di Azure.
supporti di backup
Uno o più nastri o file del disco in cui sono stati scritti uno o più backup.
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 di filegroup (base differenziale) che contiene solo i dati modificati rispetto a quella base.
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)
recover
Riportare un database a uno stato stabile e coerente.
recovery
Fase di avvio del database o di ripristino con recupero che porta il database in uno stato coerente a livello di 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.
ripristinare
Processo a più fasi che copia tutte le pagine di dati e log da un backup specificato SQL Server a un database specificato e quindi esegue il roll forward di tutte le transazioni registrate nel backup applicando le modifiche registrate per inoltrare i dati in tempo.
Introduzione alle strategie di backup e ripristino
Il backup e il ripristino dei dati devono essere personalizzati per uno specifico ambiente e devono funzionare con le risorse disponibili. Per un utilizzo affidabile delle funzionalità di backup e ripristino è pertanto necessaria un'apposita strategia. Una strategia ben progettata a tale scopo ottimizza la disponibilità dei dati e ne riduce al minimo la perdita, rispettando al contempo le esigenze aziendali specifiche.
Importante
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 sicurezza. 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 alle procedure operative aziendali.
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, tra cui:
Obiettivi di produzione dell'organizzazione per i database, in particolar modo i requisiti relativi alla disponibilità e alla protezione dalla perdita dei dati.
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, sicurezza fisica dei supporti archiviati e così via.
Nota
Il SQL Server formato di archiviazione su disco è lo stesso negli ambienti a 64 bit e a 32 bit. È pertanto possibile eseguire il backup e il ripristino tra ambienti a 32 bit e ambienti a 64 bit. Un backup creato su un'istanza del server in esecuzione in un ambiente può essere ripristinato su un'istanza del server in esecuzione nell'altro ambiente.
Impatto del modello di recupero sulle operazioni di backup e di ripristino
Le operazioni di backup e di ripristino si verificano nel contesto di un modello di recupero, ovvero una proprietà del database tramite la quale si controlla 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 ripristino e come influiscono sulla gestione dei log delle transazioni, vedere Log delle transazioni (SQL Server).
Il modello 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 ripristino nel backup e nel ripristino, vedere Panoramica del backup (SQL Server).
Progettare la strategia di backup
Dopo aver selezionato un modello di recupero che soddisfa 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. Con un backup differenziale è possibile 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 altre informazioni, vedere Backup parziali (SQL Server) e Backup completi dei file (SQL Server).For more information, see Partial Backups (SQL Server) and Full File Backups (SQL Server).
Quantità di spazio su disco necessaria per un backup completo del database.
Per altre informazioni, vedere Stimare le dimensioni di un backup completo del database, più avanti in questa sezione.
Stimare le dimensioni di un backup completo del database
Prima di implementare una strategia di backup e ripristino, stimare quanto spazio su disco verrà utilizzato da un backup del database completo. 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 la dimensione di un backup del database completo tramite la stored procedure di sistema sp_spaceused . Per altre informazioni, vedere sp_spaceused (Transact-SQL).For more information, see sp_spaceused (Transact-SQL).
Pianificare le operazioni di backup
L'esecuzione di un'operazione di backup ha un effetto minimo sulle transazioni in esecuzione; è possibile quindi eseguire le operazioni di backup durante le operazioni normali. È possibile eseguire un backup SQL Server con un effetto minimo sui carichi di lavoro di produzione.
Nota
Per informazioni sulle restrizioni di concorrenza durante il backup, vedere Panoramica del backup (SQL Server).For information about concurrency restrictions during backup, see Backup Overview (SQL Server).
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 di database e di log, vedere Use the Maintenance Plan Wizard.
Eseguire il 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 testare il ripristino di tutti i tipi di backup che si desidera utilizzare.
È consigliabile mantenere un manuale operativo per ogni database, in cui indicare la posizione dei backup, i nomi dei dispositivi di backup (se presenti) e il tempo necessario per il ripristino dei backup di prova.
Attività correlate
Pianificazione dei processi di backup
Utilizzo dei dispositivi di backup e dei supporti di backup
Definizione di un dispositivo di backup logico per un file su disco (SQL Server)
Definizione di un dispositivo di backup logico per un'unità nastro (SQL Server)
Specificare un disco o un nastro come destinazione di backup (SQL Server)
Impostazione della data di scadenza di un backup (SQL Server)
Visualizzare il contenuto di un nastro o di un file di backup (SQL Server)
Visualizzare i file di dati e di log in un set di backup (SQL Server)
Visualizzazione delle proprietà e del contenuto di un dispositivo di backup logico (SQL Server)
Creazione di backup
Nota
Per i backup parziali o di sola copia, è necessario usare rispettivamente l'istruzione Transact-SQLBACKUP con l'opzione PARTIAL o COPY_ONLY.
Utilizzo di SQL Server Management Studio
Utilizzo di Transact-SQL
Eseguire il backup del log delle transazioni quando il database è danneggiato (SQL Server)
Abilitare o disabilitare il checksum di backup durante il backup o il ripristino (SQL Server)
Ripristino di backup dei dati
Utilizzo di SQL Server Management Studio
Ripristino di un backup del database (SQL Server Management Studio)
Ripristino di un database in una nuova posizione (SQL Server)
Ripristinare un backup differenziale di database (SQL Server)
Utilizzo di Transact-SQL
Ripristinare un backup del database nel modello di recupero con registrazione minima (Transact-SQL)
Ripristino di file e filegroup sovrascrivendo file esistenti (SQL Server)
Ripristino di log delle transazioni (modello di recupero con registrazione completa)
Utilizzo di SQL Server Management Studio
Ripristinare un database in una transazione contrassegnata (SQL Server Management Studio)
Ripristinare un backup del log delle transazioni (SQL Server)
Utilizzo di Transact-SQL
Attività di ripristino aggiuntive
Utilizzo di Transact-SQL
Riavvio di un'operazione di ripristino interrotta (Transact-SQL)
Ripristinare un database senza ripristinare i dati (Transact-SQL)
Vedere anche
Backup Overview (SQL Server)
Panoramica del ripristino e del recupero (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Backup e ripristino di database di Analysis Services
Backup e ripristino di indici e cataloghi full-text
Eseguire il backup e ripristino di database replicati
Log delle transazioni (SQL Server)
Modelli di recupero (SQL Server)
Set di supporti, gruppi di supporti e set di backup (SQL Server)