SQL Server Compact

使用 SQL Server Compact 可以创建精简版数据库,可将这些数据库部署到台式机和智能设备中。SQL Server Compact 与其他 SQL Server 版本共享一个通用的编程模型,可用于开发本机和托管应用程序。SQL Server Compact 提供了以下关系数据库功能:可靠的数据源、优化的查询处理器以及可伸缩的可靠连接。

Visual Studio 提供对 SQL Server Compact 的开发支持。SQL Server 则提供数据库管理支持。可以使用 SQL Server 中的 SQL Server Management Studio 访问智能设备或台式机中存储的 SQL Server Compact 数据库。可以使用 Microsoft Visual Basic 或 Visual C# 创建托管应用程序,也可以使用 Visual C++ 创建本机应用程序。

注意注意

SQL Server Compact 3.5 Service Pack 1 (SP1) 随 SQL Server 2008 和 Visual Studio 2008 SP1 提供。也可以从 Microsoft SQL Server Compact 进行下载。

安装 SQL Server Compact 组件

下列 Microsoft Windows Installer (.msi) 文件中提供了 SQL Server Compact 组件。

  • SQL Server Compact 设计工具 (SSCEVSTools-ENU.msi)

  • SQL Server Compact 运行时 (SSCERuntime-ENU.msi)

  • SQL Server Compact for Devices (SSCEDeviceRuntime-ENU.msi)

  • SQL Server Compact 查询工具 (SSCESqlWbTools-ENU.msi)

  • SQL Server Compact 服务器工具 (SSCEServerTools-ENU.msi)

  • SQL Server Compact 联机丛书 (SSCEBOL-ENU.msi)

有关如何安装 SQL Server Compact 组件的详细信息,请参阅 Microsoft SQL Server Compact 网站

注意注意

安装 SQL Server 2008 联机丛书时,默认情况下,不在本地安装 SQL Server Compact 文档。若要下载 SQL Server Compact 联机丛书,请访问 SQL Server Compact 联机丛书下载中心

概述和 SQL Server Compact 应用场景

在将 SQL Server Compact 用作应用程序的本地数据源时,它具有以下特性。

  • SQL Server Compact 是基于文件的,这意味着连接字符串是数据库 (.sdf) 文件的文件路径。

  • SQL Server Compact 不作为服务运行。这是使用 SQL Server Compact 3.5 与使用 SQL Server 或 SQL Server Express 的主要区别之一。

  • SQL Server Compact 支持多个连接,最多可达 256 个连接。还支持在不同进程中打开连接。

  • SQL Server Compact 最大可支持 4 GB 的数据库文件。

SQL Server Compact 是基于文件的数据库,由大约 1.4 MB 的 DLL 组成。下面列出了一些您可能需要在应用程序中使用 SQL Server Compact 的应用场景:

  • 在用于台式机和移动设备的应用程序中。

  • 在偶尔连接的应用场景中要使用的应用程序中。

  • 在需要可免费再发行的数据库时。

  • 在要求的应用程序大小和内存必须较少时。

  • 需要在进程中运行数据访问代码时。

SQL Server Compact 中的新增功能

以下部分介绍了 SQL Server Compact 3.5 和 SQL Server Compact 3.5 SP1 中的新功能。

SQL Server Compact 3.5

SQL Server Compact 3.5 版随 Visual Studio 2008 一起发布。从 SQL Server Compact 3.5 版开始提供以下功能:

  • SQL Server Compact 在台式机上支持本地事务范围。

  • 增强了 Visual Studio 2008 中的 SQL Server Compact 表设计器,以提供一个用于在表之间创建主键和外键关系的用户界面。

  • SQL Server Compact 现在支持以下 Transact-SQL 语句:

    • FROM 子句中的嵌套查询

    • CROSS APPLY 和OUTER APPLY

    • CAST

    • TOP

    • SET IDENTITY INSERT

  • 通过使用 Visual Basic 2008 速成版和 Visual C# 2008 速成版,可以为台式机开发基于 SQL Server Compact 3.5 的应用程序。

  • 通过使用 SQL Server 2008 中的 SQL Server Management Studio Express (SSMSE),可以管理智能设备或台式机上存储的 SQL Server Compact 数据库。

  • SQL Server Compact 实现了 timestamp (rowversion) 数据类型。

  • SQL Server Compact 支持 LINQ to SQL。LINQ to SQL 是语言集成查询 (LINQ) 项目的一个组件。它提供了一个运行时基础结构,用于将关系数据作为对象进行管理,同时保留了查询功能。它将语言集成查询转换为 Transact-SQL,由 SQL Server Compact 执行后,再将表格结果转回到应用程序开发人员定义的对象。

SQL Server Compact 3.5 SP1

SQL Server Compact 3.5 Service Pack 1 (SP1) 随 SQL Server 2008 和 Visual Studio 2008 SP1 提供。SQL Server Compact 3.5 SP1 为软件开发人员提供了多项增强功能和新功能。下面列出了其中的部分新功能:

  • SQL Server Compact 在数据库级别支持区分大小写的排序规则。

  • SQL Server Compact 支持 ADO.NET 实体框架。借助于实体框架,您可以使用采用域特定对象和属性形式的数据(如客户和客户地址),而不用考虑存储此数据的基础数据库表和列。

  • SQL Server Compact 支持 LINQ to Entities。借助于 LINQ to Entities,开发人员可以在开发环境中直接使用 LINQ 表达式和 LINQ 标准查询运算符,以针对实体框架对象上下文创建灵活的强类型查询。

  • SQL Server Compact 可在 64 位环境下本机运行。

  • SQL Server Compact 支持复制 SQL Server 2008 中的新数据类型,如 date、time、datetime2、datetimeoffset、 geography 和 geometry。有关 SQL Server 2008 中的数据类型的详细信息,请参阅 SQL Server 2008 联机丛书中的 Data Types(数据类型)。

  • SQL Server Compact 通过使用 Microsoft Synchronization Services for ADO.NET 支持在 SQL Server 2000、SQL Server 2005 和 SQL Server 2008 之间进行数据复制。Microsoft Synchronization Services for ADO.NET 适用于台式机和移动设备。

  • SQL Server Compact 通过使用合并复制和远程数据访问 (RDA) 支持在 SQL Server 2005 和 SQL Server 2008 之间进行数据复制。

与 SQL Server 的集成

可以使用 SQL Server Management Studio(SQL Server 管理工具)来管理台式机或移动设备上的 SQL Server Compact 数据库。无论用户是连接到 SQL Server 还是 SQL Server Compact,此工具均为用户提供相同的体验。还可以使用 SQL Server Management Studio Express 来管理 SQL Server Compact 数据库。您可以从下载中心免费下载 SQL Server Management Studio Express。

可以通过 Management Studio 和 Management Studio Express 在本地计算机上创建 SQL Server Compact 数据库。您可以配置这些数据库,使用数据填充这些数据库,然后将其部署到多台设备上。这可节省大量的开发和部署时间。