Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 数据库升级工具是一个命令提示实用工具。它可以将使用 Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 版本 2.0 或 Microsoft SQL Server 2005 Mobile Edition 创建的数据库升级到最新版本的 SQL Server Compact Edition 数据库。
![]() |
---|
SQL Server Compact Edition 的文件格式不同于早期版本的 SQL Server CE。因此,用早期版本创建的数据库必须升级到新的文件格式,才能用于 SQL Server Compact Edition。 |
数据库升级工具的工作原理
在智能设备上运行 SQL Server Compact Edition 数据库升级工具 (upgrade.exe) 时,会创建新的 SQL Server Compact Edition 数据库。新的 SQL Server Compact Edition 数据库(文件扩展名为 .sdf)中包含原来在源数据库中的所有数据。
另外,早期版本的 SQL Server CE 源数据库也保留在设备上。在运行 SQL Server Compact Edition 数据库升级工具之前,必须确保设备上有足够的内存可用于两个数据库。此外,SQL Server Compact Edition 数据库升级工具需要占用设备上大约 300 KB 的内存。
SQL Server Compact Edition 数据库升级工具不会升级跟踪或订阅信息。只有源数据库中的数据会升级到 SQL Server Compact Edition 数据库中。
![]() |
---|
如果要使用复制或远程数据访问 (RDA) 作为连接解决方案,则在升级数据库之前必须将源 SQL Server Compact Edition 数据库与 SQL Server 数据库进行同步。只有需要保留数据库中可能存在的任何本地表时,才会升级连接数据库,这是因为在升级后必须使用新的数据库重新订阅或重新请求。 |
数据库升级工具的位置
数据库升级工具是作为 SqlMobile30DevTools[lang].msi 文件的一部分与 Microsoft Visual Studio 2005 一起安装的。该文件的默认位置为 <drive>:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\[platform]\[processor]rade.exe。
运行数据库升级工具
若要运行数据库升级工具,在智能设备上必须安装下列软件:
- SQL Server CE 1.0、SQL Server CE 1.1 或 SQL Server CE 2.0
- SQL Server Compact Edition 和 SQL Server Compact Edition OLE DB 访问接口(默认情况下与 SQL Server Compact Edition 一起安装)
当部署到源数据库所在的智能设备上时,数据库升级工具可执行下列任务:
- 打开在命令提示符下指定的源数据库源文件(扩展名为 .sdf)。
- 打开指定的数据库。如果在设备上未找到 SQL Server CE 2.0 OLE DB Provider (ssce20.dll),数据库升级工具将尝试使用 SQL Server CE 1.0 和 SQL Server CE 1.1 OLE DB Provider (ssce10.dll)。
![]() |
---|
如果这两个早期版本的 SQL Server Compact Edition 中的 OLE DB 访问接口都未找到,数据库升级工具将返回消息“必须已安装有 SQL Server CE 1.1 或更高版本”。 |
- 使用 SQL Server Compact Edition 存储引擎创建新的 SQL Server Compact Edition 数据库。
- 使用早期版本的 SQL Server Compact Edition 的 OLE DB 访问接口读取源数据库的架构。
- 使用 SQL Server Compact Edition OLE DB 访问接口将架构写入 SQL Server Compact Edition 目标数据库。
- 使用早期版本的 SQL Server Compact Edition 的 OLE DB 访问接口读取源数据库中的数据。
- 使用 SQL Server Compact Edition OLE DB 访问接口将数据写入 SQL Server Compact Edition 目标数据库。
![]() |
---|
对于用户创建的索引和通过添加约束(如主键)创建的索引,数据库升级工具无法加以区分。由于该工具假定与约束同名的索引都是约束自身创建的,所以该工具不会升级这些索引。 |
任何错误都将写到日志文件 (upgrade.log) 中,该文件将保存到设备上数据库升级工具 (upgrade.exe) 所在的同一目录下。
![]() |
---|
在每次升级之前,都会删除并重新创建 upgrade.log。 |
有关向后兼容性以及升级到 SQL Server Compact Edition 的详细信息,请参阅升级 SQL Server Mobile 和 SQL Server CE。
若要运行数据库升级工具,请参阅如何使用 SQL Server Compact Edition 数据库升级工具。下表列出了数据库升级工具使用的命令行参数:
参数 | 说明 |
---|---|
/s |
源数据库文件的路径。(必需) |
/sp |
源数据库文件的密码。(可选) |
/d |
目标数据库文件的路径。如果指定现有文件,该文件将被覆盖。(必需) |
/dp |
目标数据库文件的密码。(可选) |
/e |
如果指定,将对目标数据库进行加密。如果指定 /e 参数,则还必须指定 /sp 并提供密码。(可选) |
/q |
没有任何 UI,自动执行升级。(可选) |
/? |
显示此参数列表。(可选) |