2011-05-24 52 views
16

Looks like Azure Storage Emulator省略了SQL Azure。它是否成立?那么,如何测试使用SQL Azure的应用程序,而无需将其部署到实时云?如何在本地测试SQL Azure?

+0

SQL Azure数据库与SQL Express存在一些奇偶校验问题(但在V12的情况下,这些问题会最小化)。我不建议通过创建本地实例来进行测试,而是使用基本数据库(对于单线程应用程序功能测试)。您可以随时导出数据库并在需要时将其导入,以便关注结算。在进入生产之前,无论如何都需要处理尺度/性能等问题,并且不能在本地进行测试。为了避免未来的意外,最好的方法是创建基本版本并按照要求进行扩展 – 2015-05-19 06:06:53

回答

23

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

大部分本地SQL和SQL Azure是兼容和可互换的。微软声称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表达,只是迁移到SQL Azure的。

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

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

+0

如何将计算模拟器中运行的角色连接到本地SQL Server? – sharptooth 2011-05-24 07:05:32

+1

只需使用连接字符串就像您的SQL Azure实例一样。要使其可配置为部署,那么您应该将这些文件加载​​到.cscfg文件中,而不是加载到.config – Stuart 2011-05-24 07:45:05

+0

中。您的意思是,角色会像本地进程一样查看本地SQL Server? – sharptooth 2011-05-24 08:04:52

1

我建议你使用SQL Server 2008 Express的为了预测发展。一旦准备就绪,您可以将其迁移到云端。但是您需要了解当代限制以及使用SQL Server时的一些体系结构考虑因素。

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

1

不,没有本地SQL Azure模拟器。正如斯图尔特所说,当地的数据库是当地发展的最佳选择。

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

  1. 您没有安装SQL Server本地
  2. 您不必运行SQL Server作为后台服务全职

安装完成后,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中删除。我喜欢使用脚本创建和更新数据库对象,然后使用其他源文件检查这些脚本。