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 Copilot con Azure Cosmos DB
Miglioramenti nell'accessibilità con Angular CDK
Migrate and Modernize your .NET Applications on Azure
Creare gruppi di client per Event Grid MQTT
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Criptare la comunicazione con mTLS in Azure Container Apps
Proteggere le risorse Azure con private link e private endpoints
Effettuare il refresh dei dati di una QuickGrid di Blazor
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Estrarre dati randomici da una lista di oggetti in C#
Eseguire operazioni sui blob con Azure Storage Actions