由于LocalDB是用于开发目的,那么使用什么DB进行生产?

时间:2014-04-24 14:26:18

标签: c# .net database sql-server-express localdb

我在LocalDB和SQL Server Express之间有点混淆。我从网站上读到LocalDB是SQL Server Express的改进版本(source)。我认为这意味着LocalDB正在取代SQL Server Express。

然而,令人困惑的是,在几个网站上也提到LocalDB仅用于开发目的,并不代表生产用途。

在这种情况下,我将在计算机上使用LocalDB对我的Web应用程序进行开发和测试。由于LocalDB是SQL Server Express的替代品,也不能用于生产用途,因此当我准备发布我的数据库时,我应该使用哪个数据库(除了完整的SQL Server,如果我没有钱)应用

5 个答案:

答案 0 :(得分:9)

  

我认为这意味着LocalDB正在取代SQL Server Express。

您的假设不正确。继续阅读你链接的文章......

  

LocalDB不是SQL Server Express的替代品 - 它是SQL Server Express阵容的补充。虽然LocalDB适用于开发人员,但常规SQL Server Express将继续作为免费SQL Server版本存在,与更高版本的SQL Server版本完全兼容并可轻松升级。

您仍然可以使用SQL Server Express或更高版本的SQL Server进行生产。或者更好的是,从数据库中抽象出您的应用程序,以便您可以使用任何服务器(MySQL,Oracle等)

答案 1 :(得分:7)

LocalDB只是适用于开发用途的SqlExpress的特殊版本。

如果您正在尝试正确获取表格,视图和存储过程,则每次启动计算机时都不需要运行SqlExpress实例。您不需要DB服务器来接受端口1433上的传入连接并验证用户名和密码。等等。

过去SqlExpress是单独安装的。它未集成到Visual Studio和ASP.NET。它就像IIS和IIS Express,没有人使用IIS Express来托管购物网站,但是将代码放在localhost中会很方便。 LocalDB是相同的概念,你使用的SqlServer轻量级版本没有针对性能进行优化,但是当你需要它来启动代码时就开始了。

答案 2 :(得分:1)

我在生产中使用过SqlExpress没有问题,其他许多人也这样做了。只要你没有达到极限,它就会非常好,只有一小部分应用确实需要更多。我建议你直接针对sql express开发(localdb直到最近才开始存在,我仍然针对sql express开发)并在生产中使用它,直到你的应用程序变得非常受欢迎或空间限制让你觉得需要升级。 / p>

当然你可以使用其他rdbms甚至nosql dbs(比如ravendb或mongodb),这取决于你想要托管应用程序的位置或你对rdbms的体验等等

答案 3 :(得分:0)

这取决于托管和您想要执行的管理量。正如您所提到的,完整SQL Server是一种选择,但许可成本可能很高。

PostgreSQL是另一个受欢迎的选择,效果非常好,并且是免费的。

我最喜欢的选项是Azure SQL。定价很小,特别是对于小型数据库,它消除了大量管理的需要,并且您仍然可以通过Visual Studio获得出色的工具支持。

答案 4 :(得分:-3)

不应在生产环境中使用LocalDB和SQL Server Express,因为:

  • SQL Server Express在某些方面受到限制,例如CPU,内存,数据库大小等。如果您正在编写查询,您希望确保它将在1000万行的生产中运行无法支持本地

  • SQL Server Express在虚拟化方面存在局限性,您无法实时迁移等。

  • LocalDB将您置于" god sandbox"。

SQL Server Express与标准之间的完全比较是here

我建议使用SQL Server Standard或PostgreSQL。