首页 > 数据库 > SQL Server > 正文

SQL Server 2005 Express Edition概述

2024-08-31 00:49:57
字体:
来源:转载
供稿:网友

  适用于:

  microsoft sql server 2005 express edition

  microsoft visual studio 2005

  摘要:sql server express edition 是基于 sql server 2005 技术的免费产品,包括特有的应用程序 xcopy 功能以及不同于其他 sql server 2005 版本的网络和安全性。本文讨论了这些主题以及 sql server express 与 visual studio 2005 集成的问题,同时还将本产品与现有的 microsoft 免费数据库(如 msde 和 jet)进行了比较。

  简介

  sql server express 是基于 sql server 2005 技术的一款免费易用的数据库产品,旨在提供一个非常便于使用的数据库平台,可以针对其目标情况进行快速部署。之所以便于使用,首先是因为它具有一个简单可靠的图形用户界面 (gui) 安装程序,可以引导用户完成安装过程。sql server express 附带的免费 gui 工具包括:sql server management studio express edition(启动时可以使用的技术预览版本)、surface area configuration tool 和 sql server configuration manager。这些工具可以简化基本的数据库操作。通过与 visual studio 项目的集成,数据库应用程序的设计和开发也变得更加简单。此外,我还将介绍通过移动数据库应用程序(像移动典型 windows 文件一样)来对其进行部署的功能。服务和修补也得到了简化和自动化。

  sql server express 使用与其他 sql server 2005 版本同样可靠的、高性能的数据库引擎,也使用相同的数据访问 api(如 ado.net、sql native client 和 t-sql)。事实上,它与其他 sql server 2005 版本的不同仅体现在以下方面:

  • 缺乏企业版功能支持

  • 仅限一个 cpu

  • 缓冲池内存限制为 1 gb


|||

  • 数据库最大为 4 gb

  默认情况下,在 sql server express 中,启用诸如自动关闭和像复制文件一样复制数据库的功能,而禁用高可用性和商业智能功能。如果需要,也容易进行伸缩,因为 sql server express 应用程序可以无缝地与 sql server 2005 workgroup edition、sql server 2005 standard edition 或 sql server 2005 enterprise edition 一起使用。通过 web 下载文件可以进行免费、快速、方便的部署。

  本白皮书介绍 sql server express 特有的组件和功能,如应用程序 xcopy(用户实例)、网络和安全性。还介绍常见情况的使用原则。此外,我还将介绍使用 microsoft visual studio 2005 轻松开发数据应用程序,这主要针对以下人员:

  • 爱好者和其他非专业开发人员

  • 数据库开发人员、管理员和专业操作人员

  • 业务分析人员

  • 技术决策者

  目标情况

  开发 sql server express 是为了满足以下两个不同的用途。第一个用途是用作服务器产品,特别是作为 web 服务器或数据库服务器。第二个用途是用作本地客户端数据存储区,其中应用程序数据访问不依赖于网络。易用性和简单性是主要设计目标。

  sql server express 主要用于以下三种情况:

  • 非专业开发人员生成 web 应用程序

  • isv 将 sql server express 重新发布为低端服务器或客户端数据存储区

  • 爱好者生成基本的客户端/服务器应用程序

  sql server express 提供的易用、可靠的数据库平台功能丰富,可用于这些情况。特别要注意安装和部署的易用性和可靠性使 isv 的使用和重新发布变得轻松。

  sql server 2005 express edition 的主要功能

注册会员,创建你的web开发资料库,|||

  sql server express 使用的数据库引擎与其他 sql server 2005 版本相同,并且所有编程功能也相同。有关上述主题的其他信息,请参阅 sql server 2005 联机丛书。下面详细介绍了 sql server express 特有的、并且/或者对客户有较显著影响的功能。

  引擎规范

  sql 引擎支持 1 个 cpu、 1 gb ram 和 4 gb 的数据库大小。此机制允许通过定义适当的断点来轻松区别于其他 sql server 2005 版本。另外,没有工作负荷中止值,并且引擎的执行方式与其他版本相同。对可以附着到 sql server express 的用户数没有硬编码限制,但其 cpu 和内存限制实际上限制可以从 sql server express 数据库获取可接受响应次数的用户数。

  sql server express 可以安装并运行在多处理器计算机上,但是不论何时,只使用一个 cpu。在内部,引擎将用户调度程序线程数限制为 1,这样一次只使用 1 个 cpu。因为一次只能使用一个 cpu,所以不支持执行诸如并行查询这样的功能。

  1 gb ram 限制是对缓存池的内存限制。缓存池用于存储数据页和其他信息。但是,跟踪连接、锁等所需的内存不计入缓存池限制。因此,服务器使用的总内存有可能大于 1 gb,但用于缓存池的内存绝不会超过 1 gb。不支持或不需要地址窗口化扩展插件 (awe) 或 3 gb 数据访问。

  4 gb 数据库大小限制仅适用于数据文件,而不适用于日志文件。但是,不限制可以附着到服务器的数据库数。sql server express 的启动略有变化。用户数据库不会自动启动,分布式事务处理协调器也不会自动初始化。虽然对于用户体验而言,除了启动速度更快之外,感觉不出什么变化。仍建议要使用 sql server express 的编程人员在设计自己的应用程序时,牢记这些变化。

菜鸟学堂:
|||

  多个 sql server 2005 express 安装可以与其他 sql server 2000、sql server 2005 或 microsoft desktop engine (msde) 安装共存于同一台计算机上。通常,最好将 sql server 2000 实例升级到 service pack 4 (sp4)。在同一台计算机上,最多可以安装 16 个 sql server express 实例。这些实例的名称必须是唯一的,以便可以标识它们。

  默认情况下,sql server express 安装为一个名为 sqlexpress 的命名实例。这个特殊的实例可以在多个应用程序和应用程序供应商之间共享。建议您使用此实例,除非您的应用程序具有特殊配置要求。

  可用于编程 sql server express 的 api 与用于编程 sql server 2005 的 api 相同,这样如果用户选择转到其他 sql server 2005 版本,他们也不会感到有任何不适应。支持 sql server 2005 中的所有新功能(例如公共语言运行时 (clr) 集成)、新数据类型(例如 varchar(max) 和 xml)、用户定义类型和用户定义聚合。此外,sql server express 数据库可以附着到 sql server 2005,而且使用 sql server express 实例编写的应用程序同样可以与 sql server 2005 实例一起协调运行。还支持复制和 sql service broker 功能,该功能将在后面详细介绍。

  工具支持

  sql server express 是以易于使用为目的而设计的,其图形用户界面 (gui) 工具甚至可以使数据库初学者轻松使用 sql server express 中的基本数据库功能。名为 sql server management studio express edition 的新 gui 工具可以作为独立的 web 下载文件获得。ssms-ee 可以使您轻松管理数据库、执行查询分析功能,并且可以免费重新发布。

  ssms-ee 可以连接到 sql server express 和其他 sql server 2005 版本、sql server 2000 以及 msde 2000。连接时,会显示一个简单的连接对话框,引导用户选择要使用的实例和身份验证方法。可以进行本地连接和远程连接。对象资源管理器将以分层方式枚举并显示使用的公共对象(例如实例、表、存储过程等),有助于用户实现对数据库访问的可视化。

注册会员,创建你的web开发资料库,|||

  从对象资源管理器的快捷菜单中,可以访问所有数据库管理功能。ssms-ee 的功能(如创建和修改数据库、表、视图、登录帐户和用户)与其他版本中的完整 sql server management studio 相同。这使您在升级到 ssms 完整版后,可以立即应用在 ssms-ee 中学到的技能。

  许多数据库用户更喜欢使用 t-sql 来管理其服务器,因为与使用图形用户界面相比,这种方法可以进行更精密细致的控制。ssms-ee 中的查询编辑器允许用户开发和执行 t-sql 语句和脚本。查询编辑器的功能丰富,例如关键字颜色代码、结果窗格(用于以数据网格形式返回结果)。错误消息(如果有)也将显示在结果窗格中。ssms-ee 支持 ssms 的所有查询编辑器功能,包括图形查询计划。

  图 1:查询编辑器

  ssms-ee 将通过独立的 web 下载文件进行发布。用户只需单击可执行文件就可以启动安装程序。如果已安装 ssms,将无法安装 ssms-ee,因为不需要安装。同样,用户通过重新启动该安装程序或使用“控制面板”中的“添加/删除程序”菜单可以卸载 ssms-ee。

  sql server express 附带的一些工具包括 sql 计算机管理器、sql 命令 和 bcp。sql 计算机管理器用于启动和停止 sql server 服务,以及启用和禁用网络协议。sql 命令用于使用命令行进行连接和查询,而 bcp 用于大容量复制数据。

  sql 计算机管理器允许管理员配置基本服务和网络协议,在 sql server 2005 中,与以前的工具(如服务器网络实用工具、客户端网络实用工具和服务管理器)等效。sql 计算机管理器不用于调整性能特征或 sql server 的操作。

国内最大的酷站演示中心!
|||

  在计算机管理器中,有一个名为“microsoft sql servers”的节点,其中包含所有服务、服务器网络协议和客户端网络协议。服务节点列出了所有可用的 express 服务,并提供了诸如服务器实例名称、服务状态和启动类型之类的详细信息。您可以选择某个特定服务,然后执行诸如启动、停止、暂停或重新启动服务之类的操作。“服务器网络协议”节点枚举了计算机上每个实例的协议列表。右键单击某个协议(例如 tcp 协议),可以从打开的快捷菜单中启用或禁用该协议,也可以更改其属性。“客户端网络协议”节点也提供类似选项。请注意,“服务器网络协议”节点直接处理 sql server 实例上的协议设置,而“客户端网络协议”节点处理客户端(如 mdac 或 sql native client 提供程序)的协议设置。使用“客户端网络协议”节点可以创建别名,该别名是 sql server 的备用名称,可以包含服务器名称、使用的协议、连接字符串以及加密信息之类的信息。

  sql 命令是现有 osql 工具的 ole db 版本,不仅尝试保持与 osql 的功能性兼容,还支持新的 sql server 2005 数据类型。所有命令行选项都将信息输出到标准输出,操作失败时可能出现的错误消息除外。sqlcmd -? 命令显示 sqlcmd 开关的语法摘要。

  sql 计算机管理器和 sql 命令对于 sql server express 和其他 sql server 2005 版本相同。

  网络支持

  尽管用户可以显式打开其他支持的协议(例如 tcp/ip 和 named pipes),但默认情况下,sql server express 只能访问本地计算机上的共享内存连接类型。sql server express 不支持 via 协议和 http 协议。因为默认情况下只能使用共享内存,所以除非打开网络,否则无法从远程计算机连接到 sql server express。可以通过以下方式打开网络:

|||

  • 使用外围应用配置器工具启用网络,并启用和启动 sqlbrowser 服务。

  • 使用 sql server 配置管理器启用相关协议,并启动 sql browser。图 2 介绍了如何使用此工具启用网络协议。

  • 如果您预先知道需要网络支持,请在安装命令行中使用 disablenetworkprotocols=0。

  • 使用基于 smo 的脚本启用协议。

  在 sql server 2005 中,sql browser 是一项新服务,用于标识命名实例监听的端口。由于共享内存不使用该服务,因此默认情况下,该服务在 sql server express 中处于关闭状态。这意味着用户必须启动该服务,网络访问才可以进行。

  注意:一个有趣的事实是 sql browser 监听 udp 1434 端口。但是,占用 udp 1434 端口的早于 sql server 2000 sp3 之前的版本可能会导致 sql browser 名称解析失败,因为它们可能拒绝放弃该端口。解决方法是:将计算机上的所有 sql server 2000/msde 实例都升级到 sp3 版本或更高版本。

  图 2. 使用 sql sever 配置管理器启用协议

  数据访问支持

  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 数据类型以及用户定义类型。

,欢迎访问网页设计爱好者web开发。|||

  从 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 的安装。

注册会员,创建你的web开发资料库,|||

  复制支持

  用户通过复制可以使用“发布服务器 - 订阅服务器”模式以用户定义的间隔保持多个站点的数据副本同步。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."(“由于授权限制,此消息已被删除。”)

  以扩展情况为例。应用程序在收银机上部署了 100 个 sql server express 实例。它们正连接到后端的非 sql server express 服务器上。只要后端服务器涉及所有对话框,就会发生这种情况。sql server express 实例无法在不经过后端服务器的情况下成功进行会话。



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表