除了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
綜上:最近公司內部的某小程序,有人用到了,感覺非常輕便,如果對數據庫組件沒太多要求,不妨一試。