SQL Server Express 是 ASP.NET MVC Web 应用程序的可服务数据库吗
Posted
技术标签:
【中文标题】SQL Server Express 是 ASP.NET MVC Web 应用程序的可服务数据库吗【英文标题】:Is SQL Server Express a serviceable database for a ASP.NET MVC web application 【发布时间】:2010-01-18 07:54:48 【问题描述】:我即将开始构建一个依赖数据库作为后端的 ASP.NET MVC Web 应用程序(大惊喜)。
作为一名学生,我可以(通过 Dreamspark)访问 SQL Server 2008 开发人员版,并且使用默认的 VS 2008 安装,我已经安装了 SQL Server Express 2005。
我见过的许多 MVC 示例都使用本地 .mdf(SQL 数据库)作为后端。
我的问题是:
我应该使用本地数据库文件进行初始开发和设计吗? (SQL Server Express) 还是我应该安装 2008 开发版并改用“合适的”数据库?
这是我最终打算作为公共网站发布的应用程序,因此我正在为此构建。
【问题讨论】:
那你要构建什么样的网络应用程序?您的数据库会是什么样子? 【参考方案1】:在开始使用开发版之前,您需要了解它是什么以及使用它的限制。
SQLExpress 非常适合在开发人员和发布产品时使用。它具有与 SQL Standard 相同的引擎,但有一些限制,例如最大文件大小为 4GB(我认为它也有 RAM 限制,但不确定那个)。您可以使用 SQL Express 作为您网站的后端,无需额外的许可费用(即免费)。我曾在一个地方工作过,他们制定了一个系统,将多个 SQL Express 实例链接在一起只是为了绕过 4GB 文件限制 - 但请注意,这可能违反它的许可。
SQL Developer 实际上是 SQL Enterprise,但没有操作系统的安装时间限制。您也不允许在生产环境中使用 SQL Developer(即用于您的实时应用程序)。在大多数情况下,您在 SQL Developer 上编写的任何代码也可以在 SQL express 上执行,但您必须注意不要使用任何 Enterprise 功能 - 许可 Enterprise 可能是一个昂贵的选择。
所以继续使用 SQL Express,这是一个不错的选择。
附: - 我假设您的数据库不会高负载 - 如果是,那么您需要考虑标准或企业。
【讨论】:
很好地描述了如何管理 SQL Express,看来我会坚持使用 SQL Express。现在决定是否升级到2008。【参考方案2】:您可以使用其中任何一个来开发 ASP.NET MVC 应用程序。 Express 版适用于基本应用程序,除非您有需要企业功能的高负载应用程序。
如果您打算实时启动应用程序,那么这取决于应用程序将拥有的流量。另外,据我所知,开发者版仅供开发者使用,不能在生产环境中使用。
【讨论】:
【参考方案3】:我有很多关于 MVC 的例子 见过使用本地 .mdf(SQL 数据库) 作为他们的后端。
这只是因为提供带有演示和示例的物理.mdf
文件非常容易(而不是数据库脚本或类似的东西)。您会在许多教程中找到.mdf
文件,而这与 ASP.NET MVC 本身无关。您看到的示例很可能都使用 ADO.NET,它在任何应用程序中的工作方式都是一样的。
无论数据库提供商如何,您都应该对您的 Web 应用程序进行压力测试,以了解您可以处理多少并发用户以及每秒可以处理多少请求。
这里,有a good article on improving performance with ASP.NET MVC web applications。
【讨论】:
以上是关于SQL Server Express 是 ASP.NET MVC Web 应用程序的可服务数据库吗的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC:从 SQL Server Express 迁移到 Azure
无法从 ASP.NET Web 应用程序连接到我的 SQL Server Express
ASP.NET MVC 4 EF6 无法连接到 SQL Server Express 数据库
什么是“查询编写器,SQL Server Management Studio Express 中的新查询”