從舊版升級 (SQL Server Compact)
MicrosoftSQL Server Compact 3.5 Service Pack 2 (SP2) 是最新版的 SQL Server Compact。這個產品的版本包括:
3.5 版 SP2:SQL Server Compact 3.5 SP2。
3.5 版 SP1:SQL Server Compact 3.5 SP1。
3.5 版:SQL Server Compact 3.5。
3.1 版:SQL Server 2005 Compact Edition (SQL Server Compact Edition)。
3.0 版:SQL Server 2005 Mobile Edition (SQL Server Mobile)。
2.0 版:SQL Server 2000 Windows CE Edition 2.0 (SQL Server CE)。
SQL Server Compact 3.5 可以與 3.0 並存安裝在桌上型電腦和行動裝置上。不過,如果您嘗試開啟使用舊版所建立的資料庫檔案,就會收到無法開啟檔案的訊息。這是因為舊版沒有提供 rowversion 等資料類型的支援。若要使用 SQL Server Compact 3.5 SP2 來開啟資料庫檔案,您必須先升級檔案。
SQL Server Compact 3.5、3.1、3.0 和 2.0 的資料庫檔案都具有相同的副檔名 (*.sdf)。3.5 版的檔案無法搭配舊版使用。不過,SQL Server Compact 3.1 版可與 3.0 版搭配使用,反之亦然。2.0 版的檔案與 3.5、3.1 或 3.0 不相容。
SQL Server Compact 3.5 提供以下功能:
支援使用 Sync Services for ADO.NET 來同步處理 SQL Server。
實作更新的加密演算法。
升級 SQL Server Compact 3.0 或 3.1 資料庫檔案
若要開啟來自舊版 SQL Server Compact (3.1 或 3.0 版) 的資料庫檔案,請使用 Visual Studio 2008 或 Visual Studio 2010 中的 [升級為 SQL Server Compact 3.5 資料庫] 對話方塊。
開啟 Visual Studio,然後依序按一下 [檢視] 和 [伺服器總管]。
以滑鼠右鍵按一下 [資料連接]。
按一下 [加入連接],[升級為 SQL Server Compact 3.5 資料庫] 對話方塊便會出現。
在 [資料庫] 文字方塊中輸入此資料庫檔案的路徑 (選擇性)。此文字方塊中的預設值為您連接之資料庫檔案的路徑。
請在 [密碼] 文字方塊中輸入您想要用於保護此資料庫檔案的密碼 (選擇性)。
按一下 [確定],檔案就會升級為 SQL Server Compact 3.5。當升級以後,就會在相同的資料夾內提供備份檔案 (.bak) 形式的原始資料檔。如果 SQL Server Compact 3.0/3.1 資料庫檔案已加密,則在升級到 SQL Server Compact 3.5 的期間,就會使用平台預設值的加密模式來加密檔案。
注意
建議您使用 Visual Studio 2010 當做開發桌面應用程式的環境。建議您使用 Visual Studio 2008 SP1 來開發智慧型裝置應用程式。如需詳細資訊,請參閱<安裝開發環境>。
可供 SQL Server Compact 3.5 資料庫使用的加密模式如下:
平台預設值:這個選項會針對用於建立 SQL Server Compact 資料庫的平台指派預設加密。例如,在 Windows XP 上建立而且選取了 [平台預設值] 的資料庫將會使用 Windows XP 的加密。 如果加密的資料庫建立於下列其中一個平台上 (並選取了這個選項),您將無法在 Windows CE 4.2 或 Windows Mobile 2003 for Pocket PC 上開啟這個資料庫。
Windows CE 5.0
Windows CE 6.0
Windows Mobile 5.0
Windows Mobile 6.0
Windows Mobile 6.5
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
引擎預設值:這個選項會提供可在大部分 SQL Server Compact 支援平台 (Windows CE 4.2 或 Windows Mobile 2003 for Pocket PC 除外) 上運作的加密。
Windows CE 5.0
Windows CE 6.0
Windows Mobile 5.0
Windows Mobile 6.0
Windows Mobile 6.5
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
PPC2003 相容性:這個加密模式選項可在所有 SQL Server Compact 支援的平台上運作。
Windows CE 4.2
Windows Mobile 2003 for Pocket PC
Windows CE 5.0
Windows CE 6.0
Windows Mobile 5.0
Windows Mobile 6.0
Windows Mobile 6.5
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
在您將 SQL Server Compact 3.0 或 3.1 資料庫檔案升級為 3.5 版或更新版本之前,請考慮下列事項:
資料庫檔案升級之後,便無法再搭配舊版使用。相同的資料夾內會提供備份檔案 (.bak) 形式的原始資料庫檔案。
您也可以使用 Managed API SqlCeEngine.Upgrade 或原生 API ISSCEEngine.Upgrade,以程式設計方式將舊版資料庫檔案升級為最新的版本。
升級 SQL Server Compact 2.0 資料庫檔案
您可以使用 SQL Server Compact 3.5 資料庫升級工具 (Upgrade.exe) 來升級使用 SQL Server CE (2.0 版) 所建立的資料庫。資料庫升級工具可在 Windows Mobile 裝置上執行。 若要使用 Upgrade.exe,您必須在行動裝置上同時安裝 SQL Server Compact 3.5 和 SQL Server CE 執行階段。
當您執行 SQL Server Compact 3.5 資料庫升級工具時,便會在智慧型裝置上建立新的 SQL Server Compact 資料庫。具有 .sdf 副檔名的新資料庫會包含所有來源資料庫中的資料。若要繼續使用升級的資料庫進行複寫,您必須重新初始化此資料庫。
如需詳細資訊,請參閱<如何:使用資料庫升級工具來升級 SQL Server Compact 2.0>及<資料庫升級工具 (SQL Server Compact)>。
在 SQL Server CE 資料庫中,如果資料行上指定了 UNIQUE 條件約束,而沒有指定 NULL|NOT NULL 屬性,系統會自動建立具有 NOT NULL 屬性的資料行。如果您嘗試將此資料庫升級為 SQL Server Compact 3.5,相同的資料行屬性會被複製。如此一來就不能將 NULL 屬性插入到此資料表中,即使升級到 SQL Server Compact 3.5 之後也一樣。如需 NULL|NOT NULL 的詳細資訊,請參閱<ALTER TABLE (SQL Server Compact)>。
重要
升級為 SQL Server Compact 3.5 時,如果您要使用複寫或遠端資料存取 (RDA) 當做連接解決方案,就必須同步處理來源 SQL Server Compact 3.5 資料庫 (訂閱資料庫) 與 SQL Server 資料庫 (發行者)。您在升級為 SQL Server Compact 3.5 之前要進行同步處理的原因如下:針對 SQL Server CE 資料庫上資料表所做的任何變更都必須在 SQL Server 資料庫上更新,因為升級之後,您必須使用新的資料庫來重新訂閱或重新提取。
升級分散式應用程式
SQL Server Compact 3.5 伺服器代理程式不會與舊版伺服器代理程式一起安裝在執行 Internet Information Services (IIS) 的伺服器上。
SQL Server Compact 3.5 伺服器工具可在 SQL Server Compact 3.5 和 SQL Server 2008 之間複寫資料。伺服器工具也可支援 SQL Server Compact 3.0/3.1 與 SQL Server 之間的資料複寫。SQL Server Compact 3.5 伺服器代理程式不支援 SQL Server Compact 3.5 或舊版與 SQL Server 2000 或舊版之間的資料複寫。
在升級時,請先安裝 SQL Server Compact 3.5 伺服器工具,再安裝用戶端元件。如果執行 IIS 的電腦上還有舊版的 SQL Server Compact 伺服器工具,請勿部署較新的用戶端應用程式。在所有元件就位後,重新將應用程式部署到智慧型裝置。
重要
在您移除舊版的應用程式和 SQL Server Compact 3.5 用戶端元件之前,先確定升級的應用程式可以使用而且運作正常。
在應用程式升級程序期間,請考慮下列事項:
您必須將舊版 SQL Server Compact 的所有參考變更為 SQL Server Compact 3.5。
當升級執行 IIS 的電腦時,必須安裝 SQL Server Compact 3.5 伺服器工具。然後,您就可以在這部電腦上設定 SQL Server Compact 3.5 用戶端的新虛擬目錄。
當您將 SQL Server Compact 3.5 用戶端元件部署至裝置時,請將應用程式更新為使用 SQL Server Compact 3.5 的這個新虛擬目錄。 若要這樣做,請更新應用程式或 RDA 物件的 InternetURL 屬性。新的 InternetURL 屬性會指向 Sqlcesa35.dll,而非 Sscesa10.dll、Sscesa20.dll 或 Sqlcesa35.dll。SQL Server Compact 3.5 伺服器工具的安裝位置為 %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\sync\SQL。一定要更新 InternetURL 屬性是因為 SQL Server Compact 3.5 用戶端代理程式只能和 SQL Server Compact 3.5 伺服器代理程式通訊。
注意
SQL Server 2005 Compact Edition 伺服器工具或 SQL Server 2005 Mobile Edition 伺服器工具需要將 InternetURL 屬性設定為 Sqlcesa35.dll。如果您要從其中一個伺服器工具版本升級為 SQL Server Compact 3.5 伺服器工具,請將 InternetURL 屬性更新為 Sqlcesa35.dll。請注意,SQL Server Compact 3.5 伺服器工具不支援 SQL Server 2000 SP3a 或 SQL Server 2000 SP4 的資料複寫。