Configurare Azure Tools su SQL Server

Ultimamente sto lavorando parecchio con il cloud computing, ed ho avuto modo di parlarne nello specifico sia ai TechDays/WPC che in alcuni progetti interni all’azienda.

Non voglio star qui a scrivere di cosa è il cloud e quando vada scelto (magari lo farò in un post futuro), piuttosto vorrei parlare di un piccolo tip riguardante i tools di sviluppo per Windows Azure.
Di fatto, se si vuole sviluppare per questa piattaforma, è necessario scaricare (da qui) ed installare sulla propria macchina di sviluppo dei tools che permettono di “simulare” in locale l’environment che si avrà in produzione.
Senza andare troppo in profondità, ci basta sapere che i tools di Azure “wrappano” tutte le chiamate verso il client all’interno di un database Sql Server (il che è molto importante, in quanto ci permette di effettuare unit test sulle chiamate con estrema semplicità) che deve essere installato sulla macchina locale; di fatto, se non avete installato Sql sulla macchina e provate a lanciare un qualsiasi worker role o web role, riceverete dal Framework una bellissima eccezione tipo la seguente:

“Windows Azure Tools: Failed to initialize the Development Storage service. Unable to start Development Storage. Failed to start Development Storage: the SQL Server instance ‘localhost\SQLExpress’ could not be found. Please configure the SQL Server instance for Development Storage using the ‘DSInit’ utility in the Windows Azure SDK.”

Questo accade perchè l’environment locale di Azure cerca di accedere all’istanza di default di SQLExpress che, come nel mio caso, potrebbe non essere installata sulla macchina.

Per chi, come me, ha l’esigenza di sviluppare su Windows Azure Platform e non vuole installare SQL Express sulla propria macchina perchè ha già installato una versione differente di SQL (2008 R2 Developer Edition nel mio caso), può tranquillamente farlo eseguendo con privilegi amministrativi “Windows Azure SDK Command Prompt” (lo trovate all’interno del menu programmi), digitando il seguente comando:

DSInit /sqlInstance:. /forceCreate

Ovviamente se si ha un nome d’istanza differente si può sostituire il “.”, che equivale a localhost, con il proprio nome, impostato durante l’installazione di SQL Server.
A questo punto verrà creato un database con tutto il necessario per poter utilizzare i tools di Azure sulla propria macchina, senza dover passare per SQL Express.

Azure rulez!


Comments