Azure Backup: la protezione dei database SQL Server sulle VM Azure

Da Giugno 2018 è disponibile in modalità preview la funzionalità, integrata in Azure Backup, che permette di eseguire il backup dei workload SQL installati in macchine virtuali Azure IaaS.

Questo è un grosso passo in avanti perché, centralizzato negli Azure Recovery Services Vaults, è ora disponibile anche il backup dei database, su istanze SQL (SQL in Azure VM), oltre ai workload già contemplati.

Essendo un servizio totalmente fornito dalla piattaforma cloud (conosciuto come zero-infrastracture backup) e non essendo necessaria l’implementazione di agenti dedicati, la configurazione risulta essere veramente semplice, intuitiva e possibile tramite pochi click.

Configurazione del servizio

Accedendo dal portale Azure, al recovery sevices vault creato, sarà possibile visualizzare nella sezione Backup Items il backup di tipo SQL in Azure VM. I passi per l’aggiunta di uno o più database su un’istanza SQL sono brevi.

Discovery

Eseguire il discovery (Start Discovery) della VM in Azure con SQL server installato.

Figura 1 – Discovery SQL Server

Una volta eseguito il discovery e selezionata la VM interessata sarà inizialmente visualizzato uno stato di errore (Not ready) con l’impossibilità di eseguire il discovery dei DB e aggiungerli quindi al backup.

Figura 2 – Discovery dei DB “Not Ready”

Occorrerà procedere andando a configurare i permessi sull’istanza di SQL Server aggiungendo l’utenza “NT Service\AzureWLBackupPluginSvc” con ruolo di sysadmin.

Figura 3 – Configurazione Permessi SQL Server

Approfondimento

L’utenza di servizio “NT Service\AzureWLBackupPluginSvc” è il contesto utente con cui viene eseguito il backup e il restore dei DB e in generale tutte le operazioni pilotate da Azure verso l’istanza SQL. L’utenza e il rispettivo servizio “Azure Backup Workload Plugin Service” vengono creati in seguito all’operazione di discovery tramite l’installazione della VM extension AzureBackupWindowsWorkload.

Figura 4 – Servizio Azure Backup Workload Plugin

Figura 5 – Azure VM Extension

Una volta configurato il permesso su SQL server, ed eseguendo nuovamente il discovery dei DB, verrà riportato uno stato di Success (Ready) con la possibilità di andare ad aggiungere i database selezionando successivamente l’opportuna policy di backup.

Figura 6 – Discovery dei DB “Ready”

Una volta eseguito correttamente il processo di discovery il servizio “Azure Backup Workload Plugin Service”, precedentemente in stato disabilitato, si troverà nello stato Manual / Running.

Figura 7 – Servizio Azure Backup Workload Plugin

Novità recenti

Solo dalle ultime settimane è stata aggiunta la possibilità di andare a gestire l’inserimento automatico dei database tramite l’opzione di Autoprotect.

Figura 8 – Configurazione Autoprotect

Questa è solo una delle migliorie che verranno o sono già state effettuate sul servizio come indicato da Microsoft nel seguente post.

Compatibilità con il servizio

Prima di iniziare con l’implementazione del servizio occorre verificare le versioni di SQL Server supportate. Questa la lista delle versioni di SQL ad oggi pienamente compatibili:

  • 2012

  • 2014

  • 2016

  • 2017

Risulta supportato anche SQL Server Always On. In questo scenario il backup dei database seguirà le configurazioni di backup preference impostate a livello di Availability Group.

Limiti della soluzione

Questi gli unici limiti che vale la pena tenere in considerazione nel momento in cui si decide di utilizzare il servizio:

  1. Per eseguire il restore di un database in un’istanza SQL server differente occorre che il SQL server sia nella stessa Azure region e nello stesso recovery services vault dell’istanza SQL server sorgente.

  2. A differenza delle altre tipologie di job non risulta possibile verificare lo stato dell’esecuzione dei backup schedulati da Backup Jobs. Sarà possibile identificare solo i job con stato fallito all’interno di Backup Alerts altrimenti occorrerà verificare lo stato direttamente dai log su SQL Server. E’ possibile tramite query T-SQL eseguire il dump di tutti i backup job per uno specifico database.

Riferimenti Utili

Si riportano alcuni riferimenti per ulteriori approfondimenti:

Conclusioni

Ad oggi il servizio è stato da noi implementato in diverse realtà con ottimi riscontri, soprattutto in termini di performance, sia in fase di backup che di restore. Per quanto riguarda la mia esperienza il servizio, anche se in preview, risulta avere un’ottima stabilità e non sono emerse anomalie che hanno richiesto supporto da parte di Microsoft.