SQL Server Compact 3.5 是可以部署在智能设备和计算机上的精简数据库。通过手动复制和安装 .cab 文件或者通过 Microsoft Visual Studio 2008 Service Pack 1 (SP1),可以将 SQL Server Compact 3.5 部署在智能设备上。通过使用台式机安装程序 (SSCERuntime-ENU.msi) 或通过 Microsoft Visual Studio 2010,可将 SQL Server Compact 3.5 部署在计算机上。
对于 SQL Server Compact 3.5 的开发支持由 Visual Studio 2008 SP1 针对智能设备应用程序提供,由 Visual Studio 2010 针对桌面应用程序提供。数据库管理支持由 Microsoft SQL Server 2008 R2 提供。您可以通过使用 SQL Server 中的 SQL Server Management Studio 或使用 SQL Server Management Studio Express (SSMSE),访问存储在智能设备或台式机上的 SQL Server Compact 3.5 数据库。SSMSE 用户界面是 SQL Server Management Studio 的一个子集。 可以从 Microsoft 网站免费下载 SSMSE。
备注
Visual Studio 2010 是用于开发桌面应用程序的首选环境。Visual Studio 2008 SP1 是用于开发智能设备应用程序的首选环境。Visual Studio 2010 不支持开发智能设备应用程序。有关详细信息,请参阅安装开发环境。
下面是 SQL Server Compact 3.5 的一些不同功能:
同步
有多项增强功能可用于改进使用 SQL Server Compact 3.5 复制和同步数据的方式。这些增强功能包括:
对多个订阅的支持
在 SQL Server Compact 3.5 的早期版本(版本 2.0 和更早版本)中,只能为每个数据库创建一个订阅。如果在一个环境中发布的数据源自多个发布,则开发人员必须为每个发布创建一个单独的订阅数据库。 然后,开发人员必须指定应用程序应该打开哪个数据库。通过使用 SQL Server Compact 3.5,可以在一个数据库中包含多个订阅,从而减少了所需的编程工作量。有关多个订阅的详细信息,请参阅支持多个订阅。
多用户支持和同步
为了支持多个应用程序同时对同一数据库进行访问,SQL Server Compact 3.5 提供了多用户支持。多用户支持使得数据库的多个用户能够同步数据,而不必在使用合并复制或远程数据访问 (RDA) 前断开与数据库的连接。有关多用户同步的更多信息,请参阅多用户访问和 RDA 和多用户访问和同步。
同步进度状态
开发人员可以使用托管 API 来提供同步状态反馈。这可用于向用户通知同步进度。有关状态栏的更多信息,请参阅异步数据同步。
列级跟踪
在 SQL Server Compact 3.5 的早期版本中,即使只对行中的一列进行了修改,也要将一整行与 MicrosoftSQL Server 同步。在行中未修改的列包含大量数据的情况下,这经常会导致同步时间较长。在 SQL Server Compact 3.5 Service Pack 1 和更高版本中,只会对已修改的列进行同步。有关列级跟踪的更多信息,请参阅使用行级和列级跟踪。
存储引擎
SQL Server Compact 3.5 中的存储引擎的新增和改进功能增强了移动应用程序的可靠性和性能。这些功能包括:
经过改编的存储引擎
重新编写了存储引擎的体系结构,针对每个应用程序在其中共享公用内存池的移动体系结构进行了优化。目前通过真正的原子性、一致性、隔离性和持久性 (ACID) 支持保证更高的数据可靠性,即使设备出现电池供电故障和连接中断时也能保证数据可靠性。有关详细信息,请参阅数据库引擎概述 (SQL Server Compact)。
多用户支持
为支持多个应用程序同时对一个数据库进行访问,SQL Server Compact 3.5 提供了数据页行级锁定、页级锁定和隔离级别来帮助确保并发期间的数据完整性。有关锁定的更多信息,请参阅锁定 (SQL Server Compact) 和锁升级。
空页面的自动重用
SQL Server Compact 3.5 支持自动收缩功能。该功能可以自动回收未使用的数据页,从而可以节省设备存储空间。有关自动收缩的更多信息,请参阅维护数据库 (SQL Server Compact)。
查询处理器
对 SQL Server Compact 3.5 查询处理器的改进包括:
基于开销的优化
查询处理器利用存储引擎中的统计支持,可以创建能显著地节省开销的查询计划。有关统计的更多信息,请参阅数据库引擎概述 (SQL Server Compact)。
执行计划和查询提示
使用 SQL Server Compact 3.5,开发人员可以查看查询计划,然后根据需要优化查询。例如,您可以根据数据库的设计、媒体的访问时间或支持的特定设备的 CPU 速度来优化查询计划。
一个新增的 SqlCeResultSet 对象
新增的 SqlCeResultSet 对象公开了一个可更新、可滚动的游标,这样开发人员就可以直接访问 SQL Server Compact 3.5 数据库而无需使用 DataSet 对象在设备上对数据进行双缓冲。与使用 DataSet 对象相比,使用该类可改进性能,并减少完成相同任务所需的代码。该类还支持 WinForms 数据绑定接口,并且可以绑定到 UI 控件,例如“DataGrid”、“TextBox”和“ListBox”。有关游标的详细信息,请参阅游标 (SQL Server Compact) 和 System.Data.SqlServerCe 命名空间。
与 SQL Server 的集成
您可以在台式机或设备上使用 SQL Server Management Studio 来管理 SQL Server Compact 3.5 数据库;SQL Server Management Studio 是一个 SQL Server 管理工具,可取代 SQL Server 企业管理器和 SQL Server 查询分析器。无论用户连接到 SQL Server 还是 SQL Server Compact 3.5,这一集成工具都可以为用户提供相同的体验。还可以使用 SQL Server Management Studio Express 来管理 SQL Server Compact 3.5 数据库。
使用 Management Studio 可以获得下列好处:
用图形表示的查询执行计划
用图形表示的查询执行计划使得开发人员能够方便地查看查询执行计划,以便更好地了解潜在的查询性能问题。另外还提供单独的查询提示功能,用于控制执行计划的某些方面。
新建订阅向导
新建订阅向导最大限度地减少了用户在创建订阅数据库以及随后同步订阅数据库的过程中所需的工作量。有关更多信息,请参阅新建订阅向导。
改进的配置 Web 同步向导
SQL Server Compact 3.5 支持配置 Web 同步向导的改进版本。配置 Web 同步向导中的改进包括增强的可用性和对 HTTPS 虚拟目录的支持。有关更多信息,请参阅配置 Web 同步向导帮助。
与 SSIS 的集成
SSIS 允许开发人员在 SQL Server Compact 3.5 数据库和多种数据源之间传输数据。这些数据源包括 Microsoft Access、Oracle 和 IBM 数据库。SSIS 包括用于 SQL Server Compact 3.5 的目标适配器和连接管理器。
SQL 编辑器
Management Studio 的 SQL 编辑器组件是用于以交互方式设计和测试 Transact-SQL 语句、查询和脚本的主要工具。SQL 编辑器具有多种可用于简化编写和编辑查询和代码的功能。您还可以编辑从文件或从对象资源管理器创建的脚本。
数据库部署
通过 Management Studio 和 Management Studio 速成版,可以在本地计算机上创建 SQL Server Compact 3.5 数据库。您可以配置这些数据库,在其中填充数据,然后将它们部署到多个设备上。这可以大大节省开发和部署时间。
SQL Server 中为合并复制所做的某些增强为 SQL Server Compact 3.5 应用程序带来了下列好处:
用于同步业务逻辑的托管 API 访问
SQL Server 公开了一个托管 API,在将业务逻辑数据存储到 SQL Server 数据库中之前,开发人员可以利用该 API 修改这些数据。有关更多信息,请参阅 SQL Server 2008 R2 联机丛书中的“在合并同步期间执行业务逻辑”。
对仅下载类项目(表)的支持
此功能可减少在初始同步期间传输的元数据的数量,并且可缩短开发人员执行后续同步时在 SQL Server 上的处理时间。有关更多信息,请参阅介绍合并复制和创建发布。
对已分隔(已筛选)项的支持
许多移动应用程序会对数据进行筛选,以避免用户在不同的设备上访问相同的数据。通过使用对已分隔项的支持,开发人员可以大大缩短同步时间并增强可伸缩性。此功能对于很多智能设备的部署尤为有用。有关已分隔项的更多信息,请参阅创建发布。
与 Visual Studio 的集成
在 SQL Server Compact 3.5 与 Visual Studio 的集成方面的功能得到了增强。
数据库管理
开发人员可以使用 Visual Studio 2010 来管理台式机上的 SQL Server Compact 3.5 数据库,或使用 Visual Studio 2008 SP1 来管理受支持设备上的同一数据库。 开发人员可以将 SQL Server Compact 3.5 表拖动到应用程序中的某个控件中以使该控件自动绑定到该表。
SQL Server Compact 3.5 的自动安装
如果您使用 Visual Studio 生成一个使用 SQL Server Compact 3.5 并与 Microsoft .NET 连接的应用程序,则当您第一次部署该应用程序时会自动在设备上安装 SQL Server Compact 3.5 引擎。如果您使用 Visual Studio 生成本机应用程序,则必须手动安装 SQL Server Compact 3.5。有关更多信息,请参阅部署智能设备应用程序。
数据目录支持
DataDirectory 是指示数据库路径的替换字符串。由于无需对完整路径进行硬编码,使用 DataDirectory 可以更方便地共享项目和部署应用程序。例如,无需使用以下连接字符串:
"Data Source= c:\program files\MyApp\Mydb.sdf"
通过使用 |DataDirectory|(包含在如下所示的竖线中),即可具有以下连接字符串:
"Data Source = |DataDirectory|\Mydb.sdf"
可以通过调用 AppDomain.SetData 在 AppDomain 上设置 DataDirectory 属性。
托管应用程序的 ClickOnce 部署
ClickOnce 是由 SQL Server Compact 3.5 支持的软件安装技术,可用于在计算机上部署托管应用程序。ClickOnce 可简化将基于 Windows 的应用程序部署到 Web 服务器或网络文件共享的过程。对于管理员来说,部署或更新应用程序就是更新服务器上的文件。您不必逐一更新每个客户端。Microsoft Visual Studio 2010 为发布和更新用 ClickOnce 部署的应用程序提供了完整的支持。ClickOnce 部署可用于使用 Visual Basic、Visual C# 和 Visual J# 创建的项目,但不可用于 Visual C++。 有关 64 位 ClickOnce 部署的信息,请参阅管理 64 位数据库应用程序。