SQL Server Compact 3.5 数据库升级工具是一种命令提示实用工具,用于升级 SQL Server 2000 Windows CE Edition 2.0 (SQL Server CE 2.0) 数据库。
备注
SQL Server Compact 3.5 的文件格式不同于早期版本。因此,使用早期版本创建的数据库必须升级到新的文件格式。使用 SQL Server Compact 3.5 打开 SQL Server CE 数据库会失败,并会引发 System.Data.SqlServerCe.SqlCeException。
数据库升级工具的工作原理
在智能设备上运行 SQL Server Compact 数据库升级工具 (Upgrade.exe) 时,会创建新的 SQL Server Compact 数据库。文件扩展名为 .sdf 的新 SQL Server Compact 数据库包含源数据库中的所有数据。 若要使用 Upgrade.exe,SQL Server Compact 和 SQL Server CE 运行时都必须安装在移动设备上。
早期版本的 SQL Server Compact 的源数据库仍保留在设备上。在运行数据库升级工具之前,必须确保设备上有足够的内存可用于这两种数据库。此外,数据库升级工具需要占用设备上大约 300 KB 的内存。
数据库升级工具不会升级跟踪或订阅信息。仅升级源数据库中的数据。
重要
如果将复制或远程数据访问 (RDA) 用于连接,则必须在升级数据库之前,首先将源 SQL Server Compact 数据库与 SQL Server 数据库一起同步。只有需要保留数据库中可能存在的任何本地表时,才会升级连接数据库。这是因为在升级后必须从新的数据库重新订阅或重新请求。
数据库升级工具的位置
数据库升级工具随 Visual Studio 2008 安装,作为用于设备的 SQL Server Compact 3.5 (SSCEDeviceRuntime-[lang].msi) MSI 文件的一部分。该文件的默认位置是 %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Devices\[平台]\[处理器]\upgrade.exe。
备注
用于设备的 SQL Server Compact 3.5 SP2 MSI 不随 Visual Studio 2010 安装。用于设备的 SQL Server Compact 3.5 SP2 只能从 Microsoft 下载中心下载。
运行数据库升级工具
若要运行数据库升级工具,必须在智能设备上安装以下软件:
SQL Server CE (v. 2.0) 和 SQL Server Compact 3.5/3.5 SP1/3.5 SP2
SQL Server Compact OLE DB 提供程序(默认情况下,安装 SQL Server Compact 时会安装此程序。)
当部署到源数据库所在的智能设备上时,数据库升级工具会执行下列任务:
打开在命令提示符下指定的源数据库源文件(扩展名为 .sdf)。
打开指定的数据库。如果在设备上找不到 SQL Server CE 2.0 OLE DB 提供程序 (ssce20.dll),数据库升级工具会返回消息“必须已安装 SQL Server CE 1.1 或更高版本。”
使用 SQL Server Compact 存储引擎创建新的 SQL Server Compact 数据库。
使用早期版本 SQL Server Compact 的 OLE DB 提供程序读取源数据库的架构。
使用 SQL Server Compact OLE DB 提供程序将架构写入 SQL Server Compact 目标数据库。
使用早期版本 SQL Server Compact 的 OLE DB 提供程序读取源数据库中的数据。
使用 SQL Server Compact OLE DB 提供程序将数据写入 SQL Server Compact 目标数据库。
备注
数据库升级工具无法区分用户创建的索引和通过添加约束(如主键)创建的索引。由于该工具假定与约束同名的索引都是约束自身创建的,所以该工具不会升级这些索引。
任何错误都将写到日志文件 (upgrade.log) 中,该文件将保存到设备上数据库升级工具 (Upgrade.exe) 所在的目录下。
备注
每次升级之前,都会删除并重新创建 upgrade.log。
有关向后兼容性以及升级到 SQL Server Compact 的更多信息,请参见从早期版本进行升级 (SQL Server Compact)。
若要运行数据库升级工具,请参阅如何使用数据库升级工具来升级 SQL Server Compact 2.0。下表列出了数据库升级工具使用的命令行参数:
参数 |
说明 |
---|---|
/s |
源数据库文件的路径。(必需) |
/sp |
源数据库文件的密码。(可选) |
/d |
目标数据库文件的路径。如果指定现有文件,该文件将被覆盖。(必需) |
/dp |
目标数据库文件的密码。(可选) |
/e |
如果指定,将对目标数据库进行加密。如果指定 /e 参数,则还必须指定 /sp 并提供密码。(可选) |
/q |
没有任何 UI,自动执行升级。(可选) |
/? |
显示此参数列表。(可选) |