Il recupero o restore dei dati e dei database è un aspetto cruciale della gestione di SQL Server. Quando si verificano incidenti o errori, come ad esempio cancellazioni accidentali o guasti hardware, la capacità di ripristinare i dati è fondamentale per mantenere la continuità operativa del business. Vediamo quindi i diversi tipi di restore disponibili in SQL Server, con una breve guida su come eseguire uno specifico restore in modo efficace.
I tipi di restore in SQL Server
Restore Completo (Full Restore)
- Utilizzare il comando RESTORE DATABASE con il file di backup completo.
- Verificare il database ripristinato per assicurarsi che sia coerente.
Esempio di restore completo in SQL Server
Supponiamo di avere un database chiamato "MioDatabase" e di voler eseguire un restore completo da un file di backup precedentemente creato chiamato "BackupCompleto.bak".
-- Esegui un restore completo RESTORE DATABASE MioDatabase FROM DISK = 'C:\PercorsoDelTuoBackup\BackupCompleto.bak' WITH REPLACE;
Restore Differenziale (Differential Restore)
- Eseguire prima un restore completo.
- Utilizzare il comando RESTORE DATABASE con l'opzione WITH NORECOVERY per preparare il database al restore differenziale.
- Ripristinare il backup differenziale.
Esempio di restore differenziale in SQL Server
Per eseguire un restore differenziale, occorre prima eseguire un restore completo come base e quindi ripristinare il backup differenziale.
-- Esegui un restore completo RESTORE DATABASE MioDatabase FROM DISK = 'C:\PercorsoDelTuoBackup\BackupCompleto.bak' WITH REPLACE; -- Esegui un restore differenziale RESTORE DATABASE MioDatabase FROM DISK = 'C:\PercorsoDelTuoBackup\BackupDifferenziale.bak' WITH NORECOVERY;
Restore delle Transazioni (Transaction Log Restore)
- Eseguire prima un restore completo.
- Utilizzare il comando RESTORE DATABASE con l'opzione WITH NORECOVERY per preparare il database al restore delle transazioni.
- Ripristinare i file di log delle transazioni.
Esempio di restore delle transazioni in SQL Server
Per il restore delle transazioni, è necessario eseguire un restore completo e preparare il database per il restore delle transazioni.
-- Esegui un restore completo RESTORE DATABASE MioDatabase FROM DISK = 'C:\PercorsoDelTuoBackup\BackupCompleto.bak' WITH NORECOVERY; -- Esegui un restore delle transazioni (usando il file di log delle transazioni) RESTORE LOG MioDatabase FROM DISK = 'C:\PercorsoDelTuoBackup\BackupTransazioni.trn' WITH NORECOVERY;
Backup e Recovery Plan
Conclusioni
Il recupero dei dati in SQL Server è una competenza vitale per qualsiasi amministratore di database. Questa guida ha esaminato i principali tipi di restore e le procedure necessarie per eseguirli con successo, con degli esempi di base. Nella pratica, si dovranno personalizzare i percorsi dei file di backup in base alla propria configurazione e alle esigenze specifiche dei database. Inoltre, è fondamentale seguire le best practices per la pianificazione dei backup e dei restore in base alla complessità e alle esigenze dell’ambiente SQL Server.
Con una pianificazione oculata dei backup e una comprensione dei vari metodi di restore, l'amministratore di database sarà ben attrezzato per affrontare eventuali situazioni di perdita di dati e sarà quindi in grado di garantire continuità operativa al business.
Risorse aggiuntive
Per ulteriori informazioni, è possibile consultare la documentazione ufficiale di Microsoft su SQL Server: