我正在开发一个使用关系数据库(SQL Server 2008)的项目。本地(本地)应用程序同时读取和写入数据库。我正在为 Azure(MVC2 Web 角色)开发一个不同的前端,它将使用相同的数据,但以只读方式。如果我正在部署一个传统的 Web 应用程序,我会使用 SQL Express 作为本地数据库,并通过对应用程序的更新(数据变化非常缓慢)或通过一些同步系统来部署更改。
使用 Azure,图片有点模糊(抱歉,我不得不这样做)。我似乎找不到任何信息来表明 SQL Express 是否可以在 Web 角色中工作,如果可以,如何做到这一点。有谁知道是否可以在 Azure Web 角色中使用 SQL Express?
如果强制,我可以做的其他选择:SQL CE 或使用 SQL Azure。两者都有许多缺点,而且绝对不够完美。
谢谢,埃里克
编辑 我认为我的情况可能不够清楚。
此数据不会在部署之间更改,并且只能从 Web 角色内部访问;它基本上是一个静态缓存。本地部分有点像红鲱鱼,因为它不会影响网络角色上的数据(除了作为其来源)。基本上,我想做的是有一个本地数据存储/缓存,我使用现有的 T-SQL/DAL 代码。
虽然我可以使用 SQL Azure,但它不会添加任何东西,如果有的话,只会增加额外的开销和故障点。我也可以使用 VM 角色,但这太昂贵/太复杂了。
在一个完美的世界中,我会将 MDF 打包到 cspkg 中(因此它与应用程序一起部署),然后在角色内本地使用它。如果没有办法做到这一点,那没关系,我需要弄清楚其他解决方案的优缺点。我们不是生活在一个完美的世界里。:)