Backup e restore in SQL Server
Pagina 1 di 4
Il backup ed il restore sono due operazioni fondamentali per ogni amministratore di database. Esistono diverse strategie per effettuare queste due operazioni, ma prima di approfondire le stesse è opportuno conoscere alcuni aspetti relativi al funzionamento dei database in SQL Server.
SQL Server è costituito da due componenti fondamentali: l’insieme di file (file set) che utilizza ed il motore software (software engine) utilizzato per controllare tali file.
I file si suddividono in due tipologie:
- i file di database (che possono essere più di uno e che hanno estensione .mdf)
- i file transaction log (speciali file utilizzati per tenere traccia delle modifiche effettuate sui dati)
E’ naturale chiedersi il perché di questa doppia operazione. Il motivo fondamentale è la sicurezza dei dati. La cosa più importante che deve garantire un server di database infatti è l’integrità dei dati. Se i dati venissero scritti direttamente sul database un errore potrebbe causare l’irreversibile corruzione del file. I transaction log invece rappresentano una sorta di assicurazione sul fatto che i dati giungeranno corretti al database.
Un altro beneficio dei transaction log riguarda le prestazioni. E’ possibile infatti separare il drive in cui vengono memorizzati i file di log dal drive in cui risiedono i database e ciò determina che la scrittura dei dati non influisca negativamente, a livello di prestazioni, sulla lettura degli stessi.
Con i log inoltre ogni transazione viene registrata ed è possibile stabilire quando eliminare i relativi dati in seguito alla scrittura sul database, cosa che dipende dal modello di recupero (recovery) che si desidera utilizzare.
L’utility per il backup dei database è integrata in SQL Server e per la memorizzazione degli stessi utilizza il formato MTF (Microsoft Tape Format), compatibile con il sistema operativo Windows. Ovviamente è possibile memorizzare i file di backup anche su un disco rigido o in una locazione di rete condivisa.
Bisogna sottolineare che il processo di backup è molto veloce, mentre quello di restore piuttosto lento.
A partire dalla versione 2000 SQL Server supporta anche i cosiddetti backup in tempo reale (real-time). Ciò significa che non è necessario che gli utenti non utilizzino il database durante il backup e che il backup comprende tutti i dati aggiornati al momento della fine del processo. Se, ad esempio, il backup inizia alle 12 e termina alle 13 esso comprenderà anche le modifiche che gli utenti effettueranno in tale intervallo temporale.
Nelle versioni fino a SQL Server 2005 i file di backup non vengono compressi, nella versione 2008 invece è presente un’opzione che permette di effettuare tale operazione. Tutte le edizioni di SQL Server comunque supportano le caratteristiche fondamentali dei vari scenari di backup e restore.
Per assicurarsi che un backup non venga ripristinato su un altro server è anche possibile proteggerlo con una password.







