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:

 

image

 

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:

 

image

 

-  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;

 

image

 

-  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

 

 

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;

 

3

 

 

-  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

 

image

 

-  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;

CREATE CREDENTIAL 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.

 

image

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 DATABASE dbName 

FROM URL = 'http://mystorageaccount.blob.core.windows.net/blobcontainername/dbName.bak'

WITH CREDENTIAL = 'mycredential';

GO

 

 

 

 

 

Per Approfondimenti:

· http://msdn.microsoft.com/en-us/library/jj919148.aspx