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 presenta 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 all'archiviazione locale per l'archiviazione dei backup, SQL Server supporta anche il backup e il ripristino dal servizio Archiviazione BLOB di Azure. Per altre informazioni, vedere SQL Server Backup e ripristino con il servizio Archiviazione BLOB di Azure.

Vantaggi

  • L'esecuzione di backup dei database si SQL Server, l'esecuzione di procedure di ripristino di test sui backup e l'archiviazione delle copie di backup in una posizione esterna sicura costituiscono modi validi per evitare una 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:

    • Errore del supporto di memorizzazione.

    • 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. Usando SQL Server Backup per Azure servizio di archiviazione BLOB, è possibile creare un backup fuori sede in un'area diversa da quella locale, da usare in caso di emergenza naturale che influisce sulla posizione locale.

  • 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 di gruppi di disponibilità AlwaysOn o il mirroring del database e l'archiviazione.

Componenti e concetti

backup [verbo]
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 [sostantivo]
Copia dei dati che possono essere usati per ripristinare e ripristinare i dati dopo 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. SQL Server backup possono essere scritti anche in un servizio di archiviazione BLOB Azure e il formato URL viene usato per specificare la destinazione e il nome del file di backup. Per altre informazioni, vedere SQL Server Backup e ripristino con il servizio Archiviazione BLOB di Azure.

supporti di backup
Uno o più nastri o file su disco in cui è stato scritto uno o più backup.

backup dei dati
Backup dei dati in un database completo (backup di un database), un database parziale ( un backup parziale) o un set di file file o 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 incrementali del database contengono solo le modifiche apportate al database dall'ultimo backup completo.

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 del log
Backup dei log delle transazioni che include tutti i record di log di cui non è stato eseguito il backup in un backup del log precedente. (modello di recupero con registrazione completa)

recover
Riportare un database a uno stato stabile e coerente.

guarigione
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: semplice, completo e bulk-logged. Il modello di recupero del database ne determina i requisiti di backup e di ripristino.

restore
Processo in più fasi che copia tutte le pagine di dati e log da un SQL Server backup specificato in un database specificato e quindi esegue il rollforward 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. Pertanto, un uso affidabile del backup e del ripristino per il ripristino richiede una strategia di backup e ripristino. Una strategia di backup e ripristino ben progettata ottimizza la disponibilità dei dati e riduce al minimo la perdita di dati, considerando al contempo i requisiti aziendali specifici.

Importante

Posizionare il database e i backup in dispositivi separati. In caso contrario, se il dispositivo contenente il database non riesce, i backup non saranno disponibili. L'inserimento dei dati e dei backup in dispositivi separati migliora anche le prestazioni di I/O per la scrittura di backup e l'uso di produzione del database.

Tale strategia prevede una parte relativa al backup e una parte relativa al ripristino. La parte di backup della strategia definisce il tipo e la frequenza dei backup, la natura e la velocità dell'hardware necessari, il modo in cui i backup devono essere testati e dove e come archiviare i supporti di backup (incluse le considerazioni sulla sicurezza). La parte di ripristino della strategia definisce chi è responsabile dell'esecuzione di ripristini e come devono essere eseguiti i ripristini per soddisfare gli obiettivi di disponibilità del database e per ridurre al minimo la perdita di 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. Il test è obbligatorio. Non si dispone di una strategia di backup fino a quando non sono stati ripristinati correttamente i backup in tutte le combinazioni incluse nella strategia di ripristino. È necessario considerare una vasta gamma di fattori, Questi includono:

  • Gli obiettivi di produzione dell'organizzazione per i database, in particolare i requisiti per la disponibilità e la protezione dei dati dalla perdita.

  • La natura di ogni database: le dimensioni, i modelli di utilizzo, la natura del contenuto, i requisiti per i dati e così via.

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

    Note

    Il formato di archiviazione su disco di SQL Server è lo stesso negli ambienti a 64 bit e a 32 bit. Di conseguenza, il backup e il ripristino funzionano in ambienti a 32 bit e a 64 bit. Un backup creato in un'istanza del server in esecuzione in un ambiente può essere ripristinato in un'istanza del server eseguita nell'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. Un modello di recupero è una proprietà del database che controlla il modo in cui viene gestito il log delle transazioni. Inoltre, il modello di recupero di un database determina quali tipi di backup e quali scenari di ripristino sono supportati per il database. In genere un database usa 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 sul modo in cui 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 l'esposizione alla perdita di lavoro, al costo del sovraccarico amministrativo, usare il modello di recupero con registrazione completa. Per informazioni sull'effetto dei modelli di ripristino per il backup e il ripristino, vedere Panoramica del backup (SQL Server).For information about the effect of recovery models on backup and restore, see Backup Overview (SQL Server).

Progettare la strategia di backup

Dopo aver selezionato un modello di ripristino che soddisfi i requisiti aziendali per un database specifico, è 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 è previsto un periodo di minore attività prevedibile, è consigliabile pianificare backup completi del database per tale periodo.

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

    Se le modifiche sono frequenti, considerare gli aspetti seguenti:

    • Nel modello di recupero semplice, considerare la pianificazione di backup differenziali tra un backup completo del database e l'altro. Con un backup differenziale è possibile acquisire solo le modifiche successive all'ultimo backup completo del database.

    • Nel modello di recupero completo, si dovrebbero 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.

  • È probabile che le modifiche si verifichino solo in una piccola parte del database o in gran parte del database?

    Per un database di grandi dimensioni in cui le modifiche vengono concentrate in una parte dei file o dei filegroup, i backup parziali e i backup di file possono essere 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 Stima delle 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 le dimensioni di un backup completo del database usando la stored procedure di sistema sp_spaceused . Per altre informazioni, vedere ssp_spaceused (Transact-SQL).

Pianificare i backup

L'esecuzione di un'operazione di backup ha un effetto minimo sulle transazioni in esecuzione; pertanto, le operazioni di backup possono essere eseguite durante le normali operazioni. È possibile eseguire un backup di SQL Server con un effetto minimo sui carichi di lavoro di produzione.

Note

Per informazioni sulle restrizioni di 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 di database e di log, vedere Use the Maintenance Plan Wizard.

Testare i backup

Non è disponibile una strategia di ripristino fino a quando non sono stati testati i backup. È molto importante testare accuratamente la strategia di backup per ognuno dei database ripristinando una copia del database in un sistema di test. È necessario testare il ripristino di tutti i tipi di backup che si desidera utilizzare.

È consigliabile mantenere un manuale delle operazioni 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

Uso di dispositivi di backup e supporti di backup

Creazione di backup

Note

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

Ripristino dei backup dei dati

Utilizzo di SQL Server Management Studio

Utilizzo di Transact-SQL

Ripristino dei log delle transazioni (modello di recupero con registrazione completa)

Utilizzo di SQL Server Management Studio

Utilizzo di Transact-SQL

Attività di ripristino aggiuntive

Utilizzo di Transact-SQL

Vedere anche

Panoramica del backup (SQL Server)
Panoramica del ripristino e del recupero (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Backup e ripristino dei database di Analysis Services
Eseguire il backup e ripristinare cataloghi e indici full-text
Eseguire il backup e ripristinare i database replicati
Log delle transazioni (SQL Server)
Modelli di recupero (SQL Server)
Set di supporti, gruppi di supporti e set di backup (SQL Server)