SQL Server Everywhere (SSEv) 是 SQL Server Mobile 2005 (SSM) 的下一個版本,版本號為 3.1,而 SSM 的版本號是 3.0。從版本號的變化就可以看出,SSM 升級到 SSEv 功能基本不會有什麼變化。而名字從 Mobile 變成了 Everywhere,可以看出 SSEv 的變化主要是擴展了平台的適用性,當然也不可能超出微軟的范圍。
SSM 支持 Windows CE、Pocket PC、Smartphone 和 Tablet PC,而 SSEv 還增加了對 Desktop PC 的支持,再一次把移動數據庫推向一個新的高潮。
SSEv 支持桌面電腦又將意味著什麼呢?桌面不是已經有了 SQL Server Express (SSE) 和 MS Access 了嗎?
相對於 MSDE 來說,SSE 其實已經很不錯了,它不但功能增強了(例如對 XML 的支持),部署方面也方便了很多。有關 SSE 跟應用程序一起部署的知識請參考 Embedding SQL Server Express into Custom Applications。將 SSE 用來保存智能客戶端的離線數據是個不錯的選擇。不過 SSE 對於大部分人來說,還是大了點。實現離線數據的緩存,對數據庫的功能要求是比較低的。通常緩存的都是一些參考數據,業務數據一般變化太大,不會在客戶端緩存。而離線數據跟主數據庫之間的數據同步,恰恰是智能客戶端最需要的。然而,SSEv 就可以很好地解決上述問題。
其實在 SSM 發布時,移動數據庫已經有向桌面電腦延伸的苗頭了。SSM 的上一個版本 SQL Server CE 2.0 (SSCE) 只支持 Pocket PC 和 Windows CE,SSM 增加了對 Smartphone 和 Tablet PC 的支持,另外支持在 SQL Server Management Studio (SSMS) 的環境下操作 SSM 的數據庫。也就是說,從 SSM 開始就支持在桌面電腦上對 SSM 數據庫進行編輯了。
SSEv 的使用跟 SSM 幾乎一摸一樣(反正我還沒有發現有什麼不同),數據庫文件(*.sdf)的格式也相同。通過使用 System.Data.SqlServerCe 命名空間下面的類,可以實現 Remote Data Access (RDA) 和 Merge Replication,從而簡化了智能客戶端離線數據的同步。
關於 SSEv 用於智能客戶端的數據緩存,可以參考 Steve.Lasker 在美國 Tech.ED 2006 講的兩節課的 ppt 和 demo。
Slides:
DEV351 Developing Local and Mobile Data Solutions with SQL Server Everywhere Edition
DEV343 Offline Data Synchronization and Caching with SQL Server Everywhere Edition
Demos:
Database Viewer
Synchronizing SQL Server Everywhere with Remote Data Access (RDA)
SqlCeResultSet, an updateable, scrollable cursor
(消息來源)
另外,Steve.Lasker 還有一堂 Web Cast 跟他在 TechED 上的 DEV343 那節課內容幾乎一樣,大家有興趣的可以去聽聽,不過是英文的,呵呵...
Smart Client: Offline Data Synchronization and Caching for Smart Clients
(消息來源)
最近在關注 SSEv,以後有時間會陸續報道它的消息。對 SSEv 感興趣的朋友,可以到 Steve.Lasker 的 blog 逛逛,有很多示例代碼和視頻下載。另外 SSEv 開發團隊的 blog 也關注一下吧。
這裡還有 SSEv 的 FAQ:
Information about SQL Server Everywhere Edition (SSEv)
最後是 CTP 版的下載地址,目前只支持桌面電腦,不支持移動設備。
Microsoft SQL Server 2005 Everywhere Edition CTP
SQL Server 2005 Everywhere Edition Community Technology Preview Books Online