Sea el siguiente escenario:

Ud ha hecho desarrollos con Visual Studio 2008 o 2010 para Windows Azure y no ha tenido problemas. Luego, después de un par de semanas sin programar nada en Azure vuelve y se encuentra con un error cuando se intenta crear el Development Storage Service de Windows Azure. Un error que le dice que el usuario no tiene permiso en la DB master para ejecutar cierta operación.

image

Entonces Ud. se pregunta: Cómo puede ser esto, si hasta hace poco todo me funcionaba perfectamente?

Pues lo mismo me ocurrió a mi, con una máquina en la que había dejado de programar Azure por un buen tiempo. Así que emprendí resolución del problema.

En primera medida, tengamos en cuenta que por defecto Windows Azure Development Fabric,  siempre busca la instancia SQLEXPRESS para simular crear el Development Storage (recordemos que cuando se antepone la palabra Development al fabric o al storage siempre estamos haciendo referencia a los ambientes locales simulados que nos sirven para tener una pequeña réplica de Azure en nuestras máquinas de desarrollo)

Con ello ya pude minimizar el campo de pruebas, así que traté conectarme a la instancia SQLEXPRESS con el Sql Server Management Studio.

La conexión se hizo sin problema. Pero noté que no tenía permisos de nada. Ni siquiera para crear una base de datos. Así que pensé  que algo realmente andaba mal. Obviamente pensé en recurrir a la desinstalación – reinstalación de mi versión de SQLEXPRESS. Y de antemano, pensé en actualizarla, pues tenía la versión SQL Express 2008 y hoy en día ya está disponible la SQL Express 2008 R2.

De hecho, ya había instalado la versión SQL Server 2008 R2 Developer Edition…
Momento, Eureka!
Eso fue lo que dejó “inservible” a mi SQL Express anterior. Hallé la respuesta indirectamente!

Conclusión:

Si se tiene SQL Express 2008 instalado y luego se instala SQL Server 2008 R2, es probable que la versión Express se arruine. En cuyo caso la solución es desinstalar la versión Express 2008 e instalar la versión Express 2008 R2, si es que se va a requerir  (como cuando hacemos desarrollos para Windows Azure).

Para desinstalar SQL Express 2008, no encontrarán en Desinstalar Programas del Panel de Control algo que diga SQL Express. En su lugar, encontrarán una entrada llamada SQL Server 2008 y otra que dirá SQL Server 2008 R2. Obviamente escogeremos la primera y de allí seleccionaremos la instancia a remover. O sea, SQLEXPRESS.

De allí en adelante la desinstalación es bastante sencilla.

Luego nos bajamos la versión R2, la instalamos, volvemos a ejecutar las aplicaciones de Windows Azure que teníamos en desarrollo y voilà: De nuevo todo funcionando correctamente.

Es una solución sencilla, a la cual no se puede llegar fácil si no entendemos ciertos detalles de la operación de Windows Azure en ambientes de desarrollo.