除了SQL Server Express,SQL Server还有个更轻量级的版本:SQL Server Compact Edition,容易让人想起Windows Compact Edition (Windows CE)。
这个版本的SQL Server只有1个.sdf数据文件 (是不是想到了Access, SQLite这类数据库),主要适用于:桌面程序 (也就是单机程序),移动设备程序 (手机,平板),嵌入式程序等,需要轻量级数据库的场景。
一. 打开/创建数据库
1. SQL Server 2005,在SSMS中新建数据库连接,选择 SQL Server Mobile,指定文件路径即可;
2. SQL Server 2008/2008 R2,在SSMS中新建数据库连接,选择 SQL Server Compact,指定文件路径即可,如下图;
3. SQL Server 2012开始,在SSMS中不再支持SQL Server Compact,转而在Visual Studio中支持,也就是有些开发人员所说的Visual Studio中的 localDB/local database。
具体可参见MSDN:
Visual Studio 2012 https://msdn.microsoft.com/en-us/library/bb546200(v=vs.110).aspx
Visual Studio 2013 https://msdn.microsoft.com/en-us/library/vstudio/ms233763.aspx
二. 功能支持
功能上限制很多,数据库对象也很单调,如下图,是一个刚建立的SQL Server Compact 实例上所有的对象:
1. 数据库对象很少,仅支持自定义表,不支持自定义视图/存储过程/函数/触发器 等等;
2. 数据类型有限,比如:字符型仅支持NCHAR, NVARCHAR;
3. 基本SQL语法有限制,比如:不支持count(distinct)、having 引用多列;
4. 高级SQL语法几乎都不支持,比如:CTE、APPLY、MERGE 等等;
具体可参见MSDN:https://msdn.microsoft.com/en-us/library/bb896140(v=SQL.100).aspx
综上:最近公司内部的某小程序,有人用到了,感觉非常轻便,如果对数据库组件没太多要求,不妨一试。