SQL Azure è un motore relazionale offerto dalla piattaforma di Windows Azure che permette di utilizzare tutte le funzionalità di un RDBMS, ma dimenticandosi degli aspetti relativi allo storage, alla gestione dei backup, ecc.
Uno degli scogli maggiori che si incontra quando si vuole adottare SQL Azure è quello relativo alla migrazione di un database esistente on-premises, seppure creato solo a scopo di sviluppo. Poiché non vi è la possibilità di gestire backup o filegroup, non è possibile procedere con i soliti strumenti, ma solo eseguire script TSQL.
Oltre all'uso di tool di terze parti che permettono la sincronizzazione di schema e database, il team di Azure ha sviluppato un tool, attualmente in CTP e disponibile all'indirizzo http://sqldacexamples.codeplex.com/, che permette di esportare il proprio database in formato bacpac. Il file non è altro che uno zip contenente, sotto forma di xml e json, lo schema e i dati del nostro database. Una volta creato il file è possibile poi caricarlo su uno storage azure e importarlo dal pannello di amministrazione del database.
Il primo passo quindi consiste nel scaricare il tool DAC Import Export Client-side Tools V 1.1, scompattarlo e fare attenzione a sbloccare i due file andando nelle proprietà di essi. A questo punto da riga di comando occorre lanciare:
DacImportExportCli -S (local) -D MioDatabase -f database.bacpac -x -e
Con l'opzione -e si indica l'autenticazione integrata, oppure usando -u - p si indicano nome utente e password. Generato il file occorre caricarlo su uno storage, usando tool come http://azurestorageexplorer.codeplex.com.
A questo punto si entra nel portale di amministrazione di Azure, e nello specifico nella sezione Database. Posizionandosi sul server è disponibile un nuovo ribbon di nome "Import and Export" ed il pulsante "Import".
Nella finestra di dialogo che compare occorre specificare i dati per accedere a SQL Azure, quindi specificare l'amministratore e la relativa password. Vanno poi specificati il nome del database, la tipologia e la dimensione massima consentita. Nel bacpac URL va indicato il percorso HTTP completo verso il file precedentemente caricato, seguito dalla chiave (generica o specifica di sessione) per accedere a tale file.
Premendo finish l'operazione viene presa in carica ed elaborata. Poiché l'operazione può impiegare molto tempo, a seconda delle dimensioni del db, è possibile controllare la situazione premendo sul pulsante status, il quale mostra lo stato delle operazioni.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare politiche di resiliency con Azure Container App
Reactive form tipizzati con FormBuilder in Angular
Utilizzare un service principal per accedere a Azure Container Registry
Copiare automaticamente le secret tra più repository di GitHub
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Gestire domini wildcard in Azure Container Apps
Inizializzare i container in Azure Container Apps
Generare token per autenicarsi sulle API di GitHub
Effettuare il pull di git LFS in un workflow di GitHub
Personalizzare l'errore del rate limiting middleware in ASP.NET Core