Sicurezza e Continuità Operativa
Nel contesto attuale, caratterizzato da minacce informatiche sempre più sofisticate, è fondamentale garantire che i backup dei database SQL non solo vengano eseguiti regolarmente, ma siano anche conservati in una posizione esterna e sicura.
Molte piccole aziende trascurano il fatto che, con un semplice job, potrebbero trasferire i loro dati all’esterno, riducendo significativamente il rischio di perdita. Non si tratta di una soluzione perfetta, ma è un metodo rapido, efficace ed estremamente economico da implementare.
In questo articolo, vedremo come proteggere i nostri dati configurando un sistema automatico di backup SQL Server su Azure Blob Storage, adottando strategie di conservazione sicure ed efficienti.
Perché salvare i backup fuori rete?
Un attacco ransomware, un errore umano o un guasto hardware possono compromettere l’intera infrastruttura. Se i backup risiedono nella stessa rete dei dati originali, sono vulnerabili allo stesso modo.
Utilizzare Azure Blob Storage come destinazione per i backup offre numerosi vantaggi:
✔ Protezione dai ransomware: i dati sono archiviati al di fuori della rete aziendale, riducendo il rischio di crittografia e perdita.
✔ Accesso garantito: anche in caso di indisponibilità locale, i backup restano accessibili.
✔ Scalabilità e durabilità: sfruttando l’infrastruttura di Microsoft, i dati sono replicati in modo sicuro.
✔ Costo contenuto: Azure Blob Storage è una soluzione economica rispetto a hardware dedicato o altri servizi di backup.
Prerequisiti
Assumiamo che tu abbia già creato uno Storage Account chiamato backupdatabasetest01.
Step 1 – Creazione della credenziale Shared Access Signature (SAS)
Per scrivere su Azure Blob Storage, SQL Server necessita di una credenziale di accesso. Utilizzeremo una Shared Access Signature (SAS) per garantire l’accesso con i permessi strettamente necessari.
🔹 Procedura
1️⃣ Accedi al portale di Azure e cerca lo storage account backupdatabasetest01.
2️⃣ Vai alla sezione Containers e crea un nuovo container (esempio: sqlbackups), impostando la modalità “Private”.
3️⃣ Nella sezione del tuo storage, clicca su Shared Access Signature (SAS).
4️⃣ Abilita solo i permessi di lettura e scrittura per il container appena creato e imposta una data di scadenza adeguata (esempio: 1 anno).
5️⃣ Copia la stringa Blob SAS URL: per SQL Server servirà solo la parte dopo ?sp=....


🔜 Nei prossimi passaggi vedremo come configurare SQL Server per inviare automaticamente i backup su Azure Blob Storage, garantendo sicurezza e affidabilità. 🚀
Step 2 – Creazione della credenziale in SQL Server
Apri SQL Server Management Studio (SSMS) e crea una credential associata al SAS token per permettere a SQL Server di scrivere su Azure Blob Storage.
CREATE CREDENTIAL [https://backupdatabasetest01.blob.core.windows.net/sqlbackups] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 'sp=-------X98l7Aw%3D'; -- Inserisci qui la tua stringa SAS
⚠️ Attenzione: L’URL deve corrispondere esattamente al container blob creato su Azure.
Step 3 – Creazione del backup FULL notturno
Configuriamo un job SQL Agent per eseguire un backup completo (FULL) ogni notte, salvandolo su Azure.
DECLARE @backupName NVARCHAR(200) DECLARE @sql NVARCHAR(MAX) SET @backupName = 'Full-' + FORMAT(GETDATE(), 'yyyyMMdd-HHmmss') + '.bak' SET @sql = ' BACKUP DATABASE [Gestionale] TO URL = ''https://backupdatabasetest01.blob.core.windows.net/sqlbackups/' + @backupName + ''' WITH INIT, FORMAT, STATS = 10, COMPRESSION ' EXEC(@sql)
📌 Suggerimento: Puoi inserire questo script all’interno di un Maintenance Plan per eseguirlo automaticamente ogni notte alle 22:00.
Step 4 – Creazione del backup DIFFERENZIALE giornaliero
Oltre al backup FULL notturno, è buona pratica configurare un backup differenziale (DIFFERENTIAL) che venga eseguito più volte al giorno, riducendo il rischio di perdita dati.
Configuriamo un Maintenance Plan che esegua il backup differenziale ogni giorno alle 12:00
DECLARE @backupName NVARCHAR(200) DECLARE @sql NVARCHAR(MAX) SET @backupName = 'Diff-' + FORMAT(GETDATE(), 'yyyyMMdd-HHmmss') + '.bak' SET @sql = ' BACKUP DATABASE [NomeTuoDatabase] TO URL = ''https://backupdatabasetest01.blob.core.windows.net/sqlbackups/' + @backupName + ''' WITH DIFFERENTIAL, INIT, STATS = 10, COMPRESSION
Conclusione
Implementare una strategia di backup efficace e sicura non è solo una buona pratica, ma una necessità per qualsiasi azienda che gestisce dati critici.
Grazie ad Azure Blob Storage, possiamo:
✅ Proteggere i backup da ransomware e guasti hardware
✅ Isolare i dati per garantire la continuità operativa
✅ Automatizzare i backup in modo semplice ed economico
💡 Consiglio pratico: Testa periodicamente il ripristino di un backup direttamente da Azure Blob Storage, per verificare l’integrità dei dati e la corretta configurazione del sistema.
🔍 Vuoi rendere il tuo ambiente SQL ancora più automatizzato?
Nei prossimi articoli esploreremo strategie avanzate per la gestione dei backup, l’automazione di restore e monitoraggio, e altre procedure utili per migliorare la sicurezza e l’efficienza della tua infrastruttura. 🚀
📌 Nota utile
Per gestire e visualizzare facilmente i backup archiviati su Azure Blob Storage, puoi utilizzare Azure Storage Explorer, uno strumento gratuito di Microsoft che permette di navigare nei container, scaricare e gestire i file in modo intuitivo.
🔗 Scarica Azure Storage Explorer qui:
https://azure.microsoft.com/it-it/products/storage/storage-explorer/
Resta aggiornato per scoprire come ottimizzare la gestione dei tuoi database con Azure!