如何在Azure上使用我的MVC2应用程序管理和发布数据库?

时间:2010-10-26 18:08:04

标签: c# sql azure azure-sql-database

我首先要说的是,我对将应用程序部署到云中的想法相当陌生,但我最近下载了Azure SDK并希望构建一个示例应用程序以使自己达到最快速度。这就是我所做的。

  1. 下载Azure SDK
  2. 创建新解决方案
  3. 添加新的ASP.NET MVC2 Web角色
  4. 编译
  5. 调试
  6. 当我在本地处于调试模式时,一切似乎都运行正常 - 我可以创建用户,登录和点击。但是,当我部署我的解决方案时,我觉得数据库没有部署。我知道SQL Azure与SQL Express的工作方式不同,所以我有几个问题。

    1. ASP.NET MVC2 Web角色及其附带的数据库是否意味着部署到Azure?
    2. 如何让我的数据库“进入云端”?
    3. 管理我的架构和查找数据以部署到SQL Azure的最佳方法是什么?
    4. 在我寻找解决方案时,有一件事让我印象深刻的是,Azure没有丰富的优秀文档 - 我发现的所有教程都是旧版或针对测试版。救命啊!

      编辑:对我来说理想的解决方案不涉及在每次要部署时打开SQL Server Management Studio来导出我的架构/数据脚本。当然有比这更好的方法吗?

3 个答案:

答案 0 :(得分:1)

部署到SQL Azure与部署到运行SQL Server Standard或Enterprise Edition的单独SQL Server计算机时的情况没什么不同。此 与部署到也运行SQL Server Express的Web服务器不同,它允许您将MDF文件打包为ASP.NET应用程序的一部分,但这是设计使然。有可用的工具,但您也可以将更改编写脚本(手动或自动)。

自动部署的另一种可能方法是利用SQL Azure migration wizard,但这仍然需要一些设置(它更适合一次性迁移)。

答案 1 :(得分:1)

我强烈建议您在本地SQL服务器下进行开发,并通过Red Gate工具将更改部署到Azure:SQL Compare和Data Compare的v9 beta。在这方面,他们是“最优秀的”。

另外,请关注这个免费工具:http://www.microsoft.com/en-us/sqlazure/datasync.aspx 它承诺在本地和Azure版本的SQL数据库之间进行数据同步。

希望这有帮助

答案 2 :(得分:0)

我最后做了一些研究并与同事讨论。我们得出的结论是,传统上没有很好的方法来管理数据库,但您可以按照下面概述的流程进行操作。

  • 使用SQL Server Management Studio 2008 R2连接到SQL Azure
  • 使用Visual Studio中的普通SQL Server数据库项目构建数据库
  • 将数据库导出到SQL Azure ...
    • 将SQL Azure数据库部署为新数据库
    • 将数据从旧数据库复制到新数据库
    • 删除旧数据库

这是目前最好的。您也可以使用数据层应用程序,它基本上可以做同样的事情。