SQL Server 2005 Compact Edition(以下簡稱 SQL Server CE)是微軟推出的嵌入式行動應用精簡資料庫產品。Windows Mobile 開發人員可利用 SQL Server CE 開發將資料管理能力延伸至 Windows Mobile 裝置的應用程式。雖然佔用磁碟空間僅 3-5 MB,但功能並未大幅縮水:提供完整 SQL 語法(內部聯結、外部聯結、子查詢),內建資料同步技術支援。除可在 Windows Mobile 裝置執行外,也支援在 PC 上儲存資料為桌面應用程式提供資料支援。
System.Data.SqlServerCe)SQL Server CE 提供 SQL Server 2005 豐富的子集,讓開發者充分利用既有 SQL Server 技能。同時提供 ADO.NET 庫(受控應用)與 OLEDB 庫(原生應用),與 SQL Server 2005 對應庫一致,簡化行動裝置資料管理應用開發難度。
SQL Server CE 資料庫引擎除提供關聯式資料庫基本功能外,還提供兩項關鍵技術:遠端資料存取 (RDA) 與 合併複寫。兩者皆用於與遠端資料庫同步資料,可輕鬆將遠端資料庫資訊載入裝置端 SQL Server CE,支援離線狀態下對裝置端資料庫進行插入、刪除、更新,最後將修改資料回傳至遠端資料庫,確保裝置端與伺服器端資料同步。
Windows Mobile 6.0 ROM 已內建 .NET Compact Framework 2.0 SP1 與 SQL Server 2005 CE,意味著開發受控碼程式時無需再部署這兩項元件,減少部署時間與成本,加速原生碼向受控碼遷移。效能提升顯著:WM 6 裝置上啟動 .NET CF 2.0 應用程式比舊版裝置快 25%,單純將 .NET CF 2.0 安裝在 ROM 而非 RAM 即可提升 25% 啟動速度。
若需使用合併複寫與 RDA 進行資料同步,除裝置端安裝 SQL Server CE 引擎外,還需 SQL Server CE 用戶端代理程式 與 SQL Server CE 伺服器端代理程式 兩組件支援。整體架構由三大組件構成:
架構包含用戶端環境(裝置端或 PC)與伺服器環境兩部分。引擎與用戶端代理位於用戶端環境;伺服器端代理位於伺服器環境,在 IIS 中以程序形式執行。
引擎主要功能為管理 SQL Server CE 資料儲存區。透過對每筆記錄維護少量變更追蹤資訊,引擎可方便追蹤所有插入、更新、刪除操作的記錄。啟用追蹤功能可大幅加快同步速度:依據追蹤資訊直接判斷哪些記錄已變更,僅同步這些記錄,避免逐筆比對。
用戶端與伺服器端主要採用 HTTP 通訊,透過無線區域網或廣域網傳輸。HTTP 請求驗證由 IIS 處理。SQL Server 資料庫可與 IIS 同機或分離部署。同步時,用戶端發送 HTTP 請求,伺服器端接收後連接 SQL Server 執行操作,再以 HTTP 回應傳回資料。

圖 1 SQL Server 2005 Compact Edition 體系架構
亦可採用 HTTPS 增加資料安全性,利用 IIS SSL 特性加密傳輸資料,並壓縮資料減少傳輸量。除無線網路外,亦可透過 ActiveSync 與桌上型電腦連接,再經由 PC 連接 SQL Server。