如何在本地针对SQL Azure进行测试?

时间:2011-05-24 06:16:47

标签: database debugging azure azure-sql-database

Looks like Azure Storage Emulator省略了SQL Azure。它是否成立?那么如何在不将其部署到实时云的情况下测试使用SQL Azure的应用程序呢?

3 个答案:

答案 0 :(得分:23)

对于本地测试,您可以在应用程序中使用本地SQL Server(完整,快速甚至CE) - 只需使用本地连接字符串代替.cscfg或.config文件中的SQL Azure - 然后使用本地计算实例将像任何其他本地进程一样连接。

大多数情况下,本地SQL和SQL Azure兼容且可互换。 Microsoft声称SQL Azure与SQL Server 2008 R2共享其大部分代码库。因此,您可以在本地使用SQL Server 2008 R2或SQL Server 2008 Express来测试您的应用程序。实际上,对于“简单”应用程序,您还应该能够使用新的基于文件的SQL Server CE。


对于“高级”应用程序,SQL Azure存在一些限制 - 请参阅http://msdn.microsoft.com/en-us/library/ee336245.aspx的限制 - 但对于许多ASP.Net应用程序,您应该能够从SQL Express迁移到SQL Azure。 / p>

有关SQL vs SQL Azure的更多详细信息,请参阅http://social.technet.microsoft.com/wiki/contents/articles/comparing-sql-server-with-sql-azure.aspx

要将数据从本地SQL迁移到SQL Azure,请参阅Codeplex上的SQL迁移向导 - http://sqlazuremw.codeplex.com/

答案 1 :(得分:1)

我建议您使用SQL Server 2008 express进行onpremise开发。一旦准备好,您就可以将其迁移到云端。但是,您需要了解当前的局限性以及使用SQL Server时的一些架构注意事项。

最好的部分是您只需要在迁移后更改连接字符串以连接到SQL Azure。

答案 2 :(得分:1)

不,没有本地SQL Azure模拟器。正如Stuart所说,本地数据库是本地开发的最佳选择。

使用SQL Server 2012,您可以选择“本地数据库”。它是一种非常轻量级的SQL Server 2012 Express。 More details here。它只能在“用户模式”下运行,这意味着

  1. 您不必在本地安装SQL Server
  2. 您不必在后台全职运行SQL Server作为服务
  3. 安装后,VS 2012中现在有一个项目类型。与CE类似,它创建了一个MDF和LDF文件。您使用如下连接字符串连接到它:

    "Server=(LocalDB)\v11.0; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf"
    

    这对我有用;较轻的下载大小很好(33 MB vs 133 MB)。它需要从我的开发机器上卸载而不是一直运行数据库服务器。

    注意:创建MDF / LDF文件时,它可能会包含在您的解决方案中。在我看来,您应该将这些文件保留在VCS之外。我喜欢使用脚本来创建和更新数据库对象,然后使用我的其他源文件检查这些脚本。