Backup di SQL Server 2012 su Windows Azure
A partire dall’aggiornamento cumulativo 2 di SQL Server 2012 SP1, è possibile fare il backup e il restore sul Blob Storage di Windows Azure, sfruttando le funzionalità native di SQL Server sia che esso sia on-premise all’interno dell’azienda o che sia ospitato all’interno di una Virtual Machine. Il database SQL, consente di creare, scalare ed estendere rapidamente le applicazioni localmente e nel cloud con strumenti familiari permettendo così di archiviare economicamente dati quali video, audio e immagini. L’esecuzione del backup nel cloud garantisce vantaggi quali disponibilità, archiviazione illimitata in una posizione esterna replicata a livello geografico e facilità di migrazione dei dati nel cloud. Questa funzionalità, introdotta in SQL Server 2012 SP1 CU2, consente di eseguire il Backup o Restore tramite T-SQL o SMO.
Ecco quindi una guida passo a passo che spiega come effettuare il backup dei database SQL Server 2012 su Windows Azure in soli 4 step.
1. Creazione dell’account di archiviazione su Windows Azure
Per creare un account di archiviazione dal portale di gestione di Windows Azure, attenersi ai passaggi seguenti:
a. Accedere al portale di gestione di Windows Azure con il proprio account:
b. Sulla barra dei comandi in fondo alla pagina del portale di gestione, scegliere New, quindi dalla voce Data Services scegliere Storage e poi Quick Create:
- in URL, inserire il nome di un sottodominio da usare nell’URL dell’account di archiviazione;
- in Region/Affinity Group, selezionare la regione/gruppo di affinità per l’archiviazione;
- se non si desidera una geo-replica per il vostro account di archiviazione, spuntare la casella Enable Geo-Replication;
- cliccare su Create Storage Account. Dopo che l’account di archiviazione è stato creato lo status sarà online ed è pronto ad essere utilizzato;
- sulla barra dei comandi a centro pagina cliccare Manage Keys per visualizzare le informazioni sull’account. Copiare il nome dell’account di archiviazione e la chiave primaria di accesso. Queste informazioni sono necessarie per creare le credenziali di SQL Server utilizzate per accedere all’account di archiviazione e per creare il backup.
2. Creazione di un contenitore BLOB
I BLOB costituiscono il modo più semplice di archiviare grandi quantità di dati binari o testo non strutturato quali video, audio e immagini. Un contenitore fornisce un raggruppamento di un set di BLOB. Un account di archiviazione può contenere un numero illimitato di contenitori e in un contenitore è possibile archiviare un numero illimitato di BLOB.
Per creare un contenitore :
- selezionare l’account di archiviazione appena creato, fare click sulla scheda Containers, quindi su Add Container nella parte inferiore della schermata in cui verrà visualizzata una nuova finestra di dialogo;
- immettere il nome associato al contenitore;
- selezionare Privato come tipologia di accesso. É consigliabile creare contenitori privati per proteggere i file di backup;
3. Creare le credenziali di SQL Server
Nelle credenziali di SQL Server sono archiviate le informazioni di autenticazione utilizzate da SQL Server per la scrittura o lettura di un BLOB nel servizio di archiviazione BLOB di Windows Azure.
Per creare le credenziali di SQL Server seguire i seguenti passaggi:
- connettersi a SQL Server Management Studio
- in Object Explorer connettersi all’istanza del motore di database con il database a cui fare il backup;
- sulla barra degli strumenti Standard cliccare New Query;
- copiare e incollare l’esempio seguente nella finestra Query modificando il nome dell’account di archiviazione e la chiave primaria di accesso;
CREATECREDENTIAL mycredential
WITH IDENTITY = ``'%mystorageaccount%'``,
SECRET = ``'%storage account access key%'``;
dove:
‘%mystorageaccount%’ è il nome dell’account di archiviazione
‘%storage account access key%’ è la chiave primaria o secondaria del vostro account di archiviazione
- verificare l’istruzione T-SQL e fare click su Execute.
4. Backup completo del database nel servizio di archiviazione BLOB di Windows Azure
Per creare un backup completo del database attenersi ai passaggi seguenti:
- da SQL Server Management Studio fare click su New Query sulla barra del menu;
- copiare e incollare l’esempio seguente nella finestra Query, modificando le informazioni necessarie, quindi fare click su Execute
BACKUP ``DATABASE[dbName]
TO URL = ``'http://mystorageaccount.blob.core.windows.net/blobcontainername/dbName.bak'
WITH CREDENTIAL = ``'mycredential'``;
GO
dove:
l’URL include l’endpoint del servizio BLOB, seguito dal nome del contenitore e il nome del file di backup
e ‘mycredential’ sono le credenziali create nel passo precedente
- in Object explorer, connettersi a Azure Storage. L’Account key richiesto è la chiave primaria o secondaria del vostro account di archiviazione.
Sfogliare per individuare il contenitore e il file di backup appena creato.
Infine per eseguire il restore da un backup del database attenersi ai seguenti passaggi:
- da SQL Server Management Studio fare click su New Query sulla barra del menu;
- copiare e incollare l’esempio seguente nella finestra Query, modificando le informazioni necessarie, quindi fare click su Execute;
RESTORE ``DATABASEdbName
FROMURL = '``http://mystorageaccount.blob.core.windows.net/blobcontainername/dbName.bak'
WITH CREDENTIAL = ``'mycredential'``;
GO
Per Approfondimenti: