SQL Server Express(2012)和LocalDB有什么不同?

ErikEJ在其优秀和stream行的比较图表中 ,区分了SQL Server Express 2012SQL Server 2012 LocalDB 。 但是,我无法在MSDN文档的任何其他地方find这样的区别(甚至在官方MS SS12书籍或MSDN SQL版本比较页面中没有提到“LocalDB”)。这使我怀疑Express和LocalDB并不是ErikEJ所说的两个独立的产品,而是同一个东西只是两个不同的术语(这可以解释为什么在这个MSDN页面上 ,它被称为“SQL Server 2012 Express LocalDB ”)。

如果产品之间真的有区别,谁能指出我的一些官方文档比较呢?

好吧,我想我已经find了自己的问题的答案。 (它被埋在SS Express产品页面的标签下)

以下是我在该页面上find的LocalDB的独特之处:

  • LocalDB是SQL Server Express Edition的轻量级部署选项,具有更less的先决条件和更快的安装。
  • LocalDB具有与SQL Express相同的可编程function,但是在应用程序中运行在“用户模式”*下,而不是作为服务运行
  • LocalDB不适用于多用户场景或用作服务器。 (如果您需要接受远程连接或远程pipe理,则需要SQL Server Express。)
  • “Express with Tools”(包括SS Management Studio Express,Azure等)可以与LocalDB一起使用,也可以不使用。 (“Express with Advanced Services”也是如此)。

更新:我刚刚在Windows IT专业人员发现这个有用的描述(7月'12,第23页) :

LocalDB不是SQL Server Express,也不是SQL Server Compact。 LocalDB使用与其他版本的SQL Server相同的sqlservr.exe引擎,但是它以用户模式运行 – 不是作为服务运行。 LocalDB用于通过诸如SSDT之类的工具进行离线开发,以确保您开发的代码与生产SQL Server数据库100%兼容。

如果我正确地阅读这篇文章,LocalDB似乎更像是Express的configuration选项,而不是完全独立的产品。 所以显然,如果我下载Express(或Express w / Tools),我将可以select安装LocalDB版本,据说比完整的Express更容易(“零configuration”)。

根据这篇文章 ,另外一个重要的区别就是“目前Visual Studio 2010并不真正与LocalDB合作”。 (至less现在我们必须改用SS Management Studio。)

*(“用户模式”或“用户实例”的概念是LocalDB的一个特色,实际上,根据这篇文章 ,“LocalDB可以看作是SQL Server Express用户实例function的升级”。有关用户实例,请参阅MSDN博客“什么是RANU?” )

我使用了ErikEJ中的一个表,它显示了: SQL CE 3.5,SQL CE 4,本地数据库和SQL Server 2012之间的特性和区别 。 根据此表,本地数据库和SQL Server 2012之间的区别是:

安装尺寸:
SQL Server 2012:120 MB下载大小; 磁盘上扩展了300 MB
本地数据库:32 MB下载大小; 磁盘上有160 MB

作为服务运行
SQL Server 2012:是的
本地数据库:否(作为由应用程序启动的进程运行)

FILESTREAM支持
SQL Server 2012:是的
本地数据库:没有

用户进行合并复制
SQL Server 2012:是的
本地数据库:没有

并发连接数
SQL Server 2012:无限制
本地数据库:无限制(但只有本地)

注意:对不起,这不是“官方文档”,但希望它对下一个BOD有用,因为它回答了有关差异的底层查询。

主要区别在于Server Express作为服务运行,而LocalDB不需要任何服务器或密集处理运行。