SQL Server Express(2012)和LocalDB有什么不同?
ErikEJ在其优秀和stream行的比较图表中 ,区分了SQL Server Express 2012和SQL 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不需要任何服务器或密集处理运行。
- CRITICAL_STRUCTURE_CORRUPTION BSOD安装了Intel HAXM Android Emulator的Windows 8.1
- 为什么SQL服务器抛出这个错误:不能将NULL值插入到'id'列中?