Lo strumento base per proteggere i propri dati e poterli ripristinare facilmente è il backup e in particolare nel caso specifico di SQL Server il backup dei database. Tale attività deve essere schedulata con regolarità, i backup devono essere salvati e custoditi su appositi dischi separati (possibilmente non sullo stesso disco dove risiedono i database!), ancora meglio se i backup vengono replicati su più posizioni anche fisicamente distanti (2 sedi diverse oppure 2 datacenter diversi). Per ultimo, ma non meno importante, i backup dovrebbero essere periodicamente verificati nella loro integrità. Non basta fare un backup se poi al momento del bisogno scopriamo che il backup è corrotto. Vanno quindi messe in atto delle procedure (anche piuttosto semplici) che verifichino periodicamente la bontà dei backup che si stanno facendo.
La gestione dei backup in azienda
Nella pratica, molte aziende (il 58% delle aziende di piccole e medie dimensioni) non programmano i backup, ritenendo che si tratti di un aspetto secondario in quanto la possibilità di perdita dei dati viene percepita molto remota, oppure non li effettuano abbastanza spesso o non controllano che vadano a buon fine (in Italia, solo il 36,2% delle aziende effettua giornalmente il salvataggio dei dati critici di business, le altre lo effettuano settimanalmente o mensilmente). Quando i dati sono ormai persi è troppo tardi, perciò è fondamentale controllare regolarmente la corretta esecuzione dei backup programmati o implementarli quanto prima in caso non esistano ancora.
Come effettuare i backup in SQL Server
A fianco dello strumento base del backup, SQL Server offre una serie di soluzioni ulteriori per poter fare fronte a situazioni di DR (Disaster Recovery) e/o di HA (High Availability), in modo tale da poter ripristinare velocemente i propri dati e/o renderli sempre disponibili anche in caso di problemi della singola istanza SQL Server. Nello specifico facciamo riferimento a queste tecnologie:
- Log Shipping
- SQL Server Replication
- AlwaysOn Failover Clustering (FCI)
- AlwaysOn Availability Groups (AG)
SQL Catcher e la gestione dei backup
- ci sono database che non vengono sottoposti a backup
- ci sono backup troppo vecchi
- vengono fatti regolarmente i backup dei transaction log per i database in Full Recovery Model
- viene cambiato il recovery model di un database
- vi è abbastanza spazio su disco per contenere i backup