[SQL Server]2005 Express Edition概述3

来源:百度文库 编辑:神马文学网 时间:2024/04/28 11:33:48
[SQL Server]2005 Express Edition概述 (3)
发布时间:2006.07.17 06:07     来源:赛迪论坛    作者:
数据访问支持
SQL Server 2005 Express 支持的本机提供程序和托管提供程序与其他 SQL Server 2005 版本相同。这样会有巨大的好处:为 SQL Server Express 编写的应用程序可以无缝用于其他 SQL Server 版本。
SQL Server 2005 Express 支持使用 ADO.NET 进行托管访问。我们建议您使用 SqlClient 数据提供程序来开发新的应用程序,因为大多数应用程序 XCopy 功能仅能与 SqlClient 一起使用。ADO.NET 2.0 数据提供程序(Visual Studio 2005 中提供)支持 varchar(MAX) 和 XML 之类的新 SQL Server 数据类型以及用户定义类型。
从 SQL Server 2005 开始,服务器中的逻辑会话与物理连接分离。客户端传输层和服务器传输层都将更新为提供多路复用功能,这样只使用一个物理连接就可以建立多个逻辑会话。这使得客户端针对同一个连接可以有多个活动的结果集 (MARS)。请注意,一般而言,MARS 并不是为了避免使用多个连接。在 SQL Server 2005 中,MARS 默认情况下处于关闭状态,使用 MARS 可以交替执行 SQL 操作。例如,您可以对一个结果集进行操作,也可以在处理该结果集时对数据库执行语句,而无需打开新的连接。在许多情况下,MARS 可以有效替代服务器游标,当数据检索操作和更新操作在同一个事务中进行时,尤为有用。
SQL Server 2005 客户端也支持异步输入输出 (I/O),这样应用程序线程不会再被数据传输操作阻塞,客户端应用程序就可以尽快作出响应。在这种模式下,I/O 调用将会立即返回,完成后将异步通知应用程序。这使得应用程序可以继续其他处理过程,并在以后检查 I/O 完成事件。
SQL Server 2005 时间范围内的数据访问组件将分成两部分:MDAC 堆栈(属于操作系统)和 SQL Native Client 提供程序(向 SQL Server 提供用于本机数据访问的特定数据访问库)。SQL Native Client 针对 SQL OLEDB、SQL ODBC 和 ADO 客户,这些客户正在编写新的应用程序或增强现有应用程序以利用 SQL Server 2005 的新功能。
SQL Native Client 将 SQL Server 2005 添加项包含到 SQL OLE DB、SQL ODBC、SQL BCP 和 SQL 网络接口。只有 C 或 C++ 程序员才可以通过 SQL Native Client 使用 SQL Server 2005 功能,例如 MARS、用户定义类型、XML 数据类型等。SQL Native Client 由新的组件构成(新类 ID),这些组件独立于 MDAC 中的现有组件,并且与其不同。例如,使用的 OLE DB Progid 是 SQLNCLI;ODBC 驱动程序名称是 SQL Native Client;使用的头文件是 SQLNCLI.h。
SQL Native Client 作为单个 dll (SQLNCLI.dll) 提供,而不作为操作系统组件提供,这样可以简化服务,使重新发布和部署应用程序变得更轻松。随着新版 SQL Server 的发布,将会提供更新的 SQL Native Client 版本,应用程序可以显式更改其配置清单以使用较此提供程序的更高版本。
在 MDAC 提供程序和 SQL Native Client 提供程序之间存在一些基于交互的有趣动态。例如,MDAC 2.5、2.7 或 2.8 无法使用共享内存连接到 SQL Server 2005。这会影响使用 SQL OLE DB 或 SQL ODBC 的所有本机应用程序,不仅包括现有本机应用程序,而且还包括托管的 OLE DB 或 ODBC 应用程序,因为它们在内部都使用了 MDAC。通常,对于 SQL Server,如果共享内存连接失败,将使用网络协议(例如 TCP/IP)。但是,对于 SQL Server Express,因为网络在默认情况下是关闭的,所以这些应用程序将完全无法连接。解决办法是:将应用程序改为使用 SQL Native Client 提供程序,或者启用网络传输控制协议 (TCP) 并启动 SQL Browser。
安全性
对于 SQL Server Express,我们的一个目标是为不同组件提供安全的默认值。例如,关闭网络协议(如 TCP/IP 和 Named Pipes)。不启动 SQL Browser 服务,除非用户在安装命令行中显式请求启动。如果使用 Windows 身份验证,则默认情况下禁用 SA 帐户或系统管理员帐户。计算机上的普通用户几乎没有对 SQL Server Express 实例的权限。服务器上的本地管理员必须向普通用户显式授予相关权限,这些用户才能使用 SQL 功能。
在 SQL Server 中,SA 登录帐户是一个特殊的登录帐户,是系统管理员 (sysadmin) 角色的成员。主要用于使用 SQL 身份验证模式的配置中,而不用于 Windows 身份验证模式。出于安全原因,SQL 验证模式要求输入强 SA 密码,在 GUI 安装和无提示 SQL 身份验证模式安装期间,用户必须输入强 SA 密码。但是,对于无提示 Windows 身份验证安装,不需要 SA 密码。原因是使用 Windows 身份验证模式时,如果用户未指定密码,无提示 SQL Server Express 安装程序会提供一个随机的强 SA 密码。在这种情况下,安装程序也会禁用 SA 帐户,因此如果您想要使用 SA 帐户,必须稍后使用 T-SQL 显式启用该帐户。这样,在使用 Windows 身份验证时,ISV 就不必提供密码了,从而不会阻塞大规模部署情况。在将来的版本中,此功能可能还会扩展到基于 GUI Windows 的安装。
复制支持
用户通过复制可以使用“发布服务器 - 订阅服务器”模式以用户定义的间隔保持多个站点的数据副本同步。SQL Server Express 支持订阅合并发布、快照发布和事务性发布,但不允许自己发布。在 SQL Server Express 中,复制订阅完全正常运行。但是,因为 SQL Server Express 不附带 SQL 代理,所以计划订阅比较困难。您可以通过以下方法同步 SQL Server Express 订阅:
• 使用复制管理对象 (RMO) 以编程方式同步。
• 将 Windows 同步管理器用于计划同步。