¿Cómo administro y publico una database con mi aplicación MVC2 en Azure?

Comenzaré diciendo que soy bastante nuevo en la idea de implementar aplicaciones en la nube, pero recientemente descargué Azure SDK y quería crear una aplicación de muestra para ponerme al día. Esto es lo que hice.

  1. Descargue el SDK de Azure
  2. Crea una nueva solución
  3. Agregue un nuevo rol Web de ASP.NET MVC2
  4. Comstackr
  5. Depurar

Todo parece funcionar bien cuando estoy en el modo de debugging localmente: puedo crear usuarios, iniciar session y hacer clic. Sin embargo, cuando deployment mi solución, siento que la database no se está implementando. Entiendo que SQL Azure funciona de forma diferente a SQL Express, por lo que tengo algunas preguntas.

  1. ¿El papel web ASP.NET MVC2 con su database adjunta está destinado para su implementación en Azure?
  2. ¿Cómo puedo get mi database "en la nube"?
  3. ¿Cuál es la mejor forma de administrar mi esquema y los datos de búsqueda para implementar en SQL Azure?

Una cosa que me sorprendió mientras buscaba una solución es que no hay una gran cantidad de documentation buena para Azure: todos los tutoriales que encontré son antiguos o están destinados a betas. ¡Ayuda!

Editar: La solución ideal para mí no implica abrir SQL Server Management Studio para exportar mis scripts de esquema / datos cada vez que deseo implementar. Seguramente hay una mejor manera que esto?

La implementación en SQL Azure no es diferente de lo que sería cuando se está implementando en un equipo SQL Server separado que ejecuta SQL Server Standard o Enterprise Edition. Esto es diferente de la implementación en un server web que también ejecuta SQL Server Express, que le permite empaquetar un file MDF como parte de la aplicación ASP.NET, pero eso es por layout. Hay herramientas disponibles, pero también puede progtwigr los cambios en la database (ya sea a mano o automáticamente).

Otra forma posible de automatizar la implementación es aprovechar el asistente de migration de SQL Azure , pero eso aún requerirá un poco de configuration (está más orientado a las migraciones de solo una vez).

Recomiendo encarecidamente que desarrolle en SQL Server local e implemente los cambios en Azure a través de las herramientas de Red Gate: v9 beta de SQL Compare y Data Compare. Son "excelentes" en este sentido.

Además, esté atento a esta herramienta gratuita: http://www.microsoft.com/en-us/sqlazure/datasync.aspx. Promete hacer una synchronization de datos entre las versiones locales y Azure de una database SQL.

Espero que esto ayude

Terminé investigando un poco más y discutiendo con mis compañeros de trabajo. Llegamos a la conclusión de que no hay una gran manera de administrar bases de datos como tradicionalmente lo haría, pero puede seguir el process que se describe a continuación.

  • Utilice SQL Server Management Studio 2008 R2 para conectarse a SQL Azure
  • Construya su database utilizando un proyecto de database SQL Server normal en Visual Studio
  • Para exportar la database a SQL Azure …
    • Implementar la database SQL Azure como una nueva database
    • Copie sus datos de la database anterior a la nueva database
    • Eliminar la database anterior

Esto es lo mejor que va a ser por ahora. Alternativamente, puede usar una aplicación de capa de datos, que esencialmente hace lo mismo.