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 同步管理器用于计划同步。
SQL Service Broker
SQL Service Broker (SSB) 是 SQL Server 2005 中一个新的、可靠的消息传送基础结构。该服务程序可以选择通过对等消息交换约定(称为对话框)进行通信。此功能可以通过 T-SQL 语言的扩展插件来访问。
SQL Server Express 只有在与其他 SQL Server 2005 版本一起使用时,才可以使用 Service Broker。如果 SQL Server Express 接收到一条来自另一个 SQL Server Express 实例的 Broker 消息,并且另一个 SQL Server 2005 版本未处理该消息,则该消息将被删除。因此,消息可以源于一个 SQL Server Express 实例而终止于另一个 SQL Server Express 实例,但是如果要这样,该消息必须通过非 SQL Server Express 实例进行路由。您可以检查 Message Drop 跟踪事件,该事件可以通过事件探查器访问,也可以使用跟踪存储过程来跟踪此类事件。与删除的消息关联的错误消息包括与以下消息类似的消息:"This message has been dropped due to licensing restrictions."(“由于授权限制,此消息已被删除。”)
文章来源于领测软件测试网 https://www.ltesting.net/