Backup e ripristino di database SQL Server
In questo argomento vengono descritti i vantaggi dell'esecuzione del backup dei database SQL Server, del backup di base e delle condizioni di ripristino. Vengono inoltre introdotte strategie di backup e ripristino per SQL Server e considerazioni di sicurezza per il backup e il ripristino di SQL Server.
Il componente di backup e ripristino di SQL Server rappresenta uno strumento essenziale per la sicurezza e la protezione di dati di importanza critica archiviati nei database SQL Server. Per ridurre il rischio di perdita di dati irreversibile, è necessario eseguire il backup dei database per salvare regolarmente le modifiche ai dati. Una strategia di backup e ripristino ben pianificata consente di proteggere i database dalla perdita di dati che si verifica in seguito ai danni causati da vari tipi di guasti. La verifica della strategia adottata mediante il ripristino di un set di backup e il recupero del database consente di essere sempre pronti a risolvere in modo efficiente qualsiasi emergenza.
[!NOTA]
A partire dall'aggiornamento cumulativo 2 di SQL Server 2012 SP1, è supportato il backup di SQL Server nel servizio di archiviazione BLOB di Windows Azure. Per ulteriori informazioni, vedere Funzionalità avanzate di backup e ripristino e Backup e ripristino di SQL Server con il servizio di archiviazione BLOB di Windows Azure.
Per soluzioni relative ai problemi comuni dei clienti riguardanti il database SQL di Windows Azure, SQL Server Data Tools e SQL Server Management Studio, vedere la pagina relativa alla gestione del ciclo di vita del database.
Contenuto dell'argomento
Vantaggi
Componenti e concetti
Introduzione alle strategie di backup e ripristino
Attività correlate
Vantaggi
Per impedire una perdita di dati potenzialmente irreversibile, eseguire il backup dei database SQL Server, eseguire procedure di ripristino di verifica sui backup e archiviare le copie di backup in una posizione esterna sicura.
Importante Questo è l'unico modo per proteggere in maniera affidabile i dati di SQL Server.
Con backup validi di un database, è possibile recuperare i dati dopo molti 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.
I backup di un database risultano inoltre utili per le attività di amministrazione di routine, ad esempio la copia di un database da un server a un altro, l'impostazione di Gruppi di disponibilità AlwaysOn o del mirroring del database e l'archiviazione.
[Inizio pagina]
Componenti e concetti
backup [verbo]
Operazione di copia di dati o record del log da un database SQL Server o dal relativo log delle transazioni a un dispositivo di backup, ad esempio un disco, per creare un backup di dati o del log.backup [nome]
Copia dei dati che ne consente 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
Disco o dispositivo nastro nel quale sono scritti i backup di SQL Server e da cui è possibile eseguirne il ripristino.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 a consentire il recupero di tali dati.backup del log
Backup dei log delle transazioni che include tutti i record del log di cui non è stato eseguito il backup in un backup del log precedente. (modello di recupero con registrazione completa)recuperare
Restituire un database a uno stato stabile e coerente.recupero
Fase di avvio del database o di ripristino con recupero che porta il database in uno stato consistente 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.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 spostare i dati avanti nel tempo.
[Inizio pagina]
Introduzione alle strategie di backup e ripristino
È necessario personalizzare il backup e il ripristino dei dati in un ambiente particolare in modo da interagire con le 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.
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 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, sicurezza 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 su un'istanza del server in esecuzione in un ambiente può essere ripristinato su un'istanza del server in esecuzione in un altro ambiente.
[Inizio pagina]
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 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 Log delle transazioni (SQL Server).
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 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. 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 (SQL Server) e Backup completi del file (SQL Server).
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 in questa sezione.
Stimare le dimensioni di un backup completo del database
Prima di implementare un backup e ripristinare una strategia, stimare quanto spazio 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 ulteriori informazioni, vedere 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 di SQL Server con un effetto minimo sui carichi di lavoro di produzione.
[!NOTA]
Per informazioni sulle restrizioni alla concorrenza durante il backup, vedere Panoramica del backup (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 del database e del log, vedere Utilizzare la Creazione guidata piano di manutenzione database.
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 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.
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 i file 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 eseguire backup parziali o di sola copia, è necessario utilizzare l'istruzione Transact-SQL BACKUP rispettivamente con l'opzione PARTIAL o COPY_ONLY.
Utilizzo di SQL Server Management Studio
Utilizzo di Transact-SQL
Esecuzione del backup del log delle transazioni quando il database è danneggiato (SQL Server)
Abilitazione o disabilitazione di checksum di backup durante il backup o il ripristino (SQL Server)
[Inizio pagina]
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)
Ripristino di 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)
[Inizio pagina]
Ripristino di log delle transazioni (modello di recupero con registrazione completa)
Utilizzo di SQL Server Management Studio
Ripristino di un database fino a una transazione contrassegnata (SQL Server Management Studio)
Ripristinare un backup del log delle transazioni (SQL Server)
Utilizzo di Transact-SQL
[Inizio pagina]
Attività di ripristino aggiuntive
Utilizzo di Transact-SQL
Riavvio di un'operazione di ripristino interrotta (Transact-SQL)
Recupero di un database senza ripristino dei dati (Transact-SQL)
[Inizio pagina]
Vedere anche
Riferimento
Concetti
Panoramica del backup (SQL Server)
Panoramica del ripristino e del recupero (SQL Server)
Backup e ripristino di database di Analysis Services
Backup e ripristino di indici e cataloghi full-text
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)