1、1.3 SQL Server 版本SQL Server 2008 有很多版本,不同版本可用的功能差异也很大。可在工作站或服务器上安装的 SQL Server 版本也会因操作系统而不同。 SQL Server 版本包括最低端的 SQL Express(速成版 )和最高端的 Enterprise Edition(企业版) 。它们的价格差别也很大,从免费到最高每个处理器 20 000 美元。注意:Microsoft 的副总裁 Ted Kummert 在 2007 年 9 月召开的 Professional Association for SQL Server(PASS,SQL Server 专业协会
2、)会议上宣布,SQL Server 2008 的价格将与 SQL 2005的保持一致。价格未上涨-这真是令人高兴。1.3.1 精简版(32 位)SQL 精简版是免费版本,它作为嵌入式数据库,用于支持偶尔连接的用户的移动设备和其他小型设备。1.3.2 SQL 速成版(32 位)1.3.2 SQL 速成版 (32 位)SQL 速成版是免费版本的 SQL Server,用于安装在笔记本或台式机中来支持分布式应用程序,如远程销售团队应用程序。可使用该版本为离线的销售团队存储销售或库存数据,当他们联机时复制更新的数据。SQL 速成版在 SQL Server 2000 中被称为 Microsoft 桌面版
3、(Microsoft Desktop Edition,MSDE)。它是非常轻量级的,不会占用太多硬盘空间。供应商可免费分发 SQL 速成版,也可以将它作为一个组件封装到自己的应用程序安装包中。SQL 速成版并不打算扩大用户群。它缺乏的关键功能是 SQL Agent(代理) 和一些健壮的管理工具。它自带一个非常轻量级的用于数据库管理的工具,但备份计划任务必须在Windows 的任务计划程序中实现,而不是由 SQL Server 完成。1.3.3 工作组版(32 位和 64 位 ) SQL Server 工作组版本是价格最低的 SQL Server 商业版。它最多支持两个处理器和4GB 的 RAM
4、(64 位),但对于中小型企业来说,这是足够的。它对于用户数或数据库大小没有限制。最初引入该版本的 SQL Server 是为了与一些低端数据库厂商(如 MySQL)竞争,应当用于小型组织或部门程序。可以很容易地将它升级为其他更具可伸缩性的版本。1.3.4 网络版(32 位和 64 位)SQL Server 网络版是适合 Web 站点所有者或 Web 主机公司的低成本选择。这些版本包括 SQL Server 2008 中的可伸缩和可管理功能。1.3.5 标准版(32 位和 64 位)SQL Server 标准版包含高可用性群集功能及商业智能功能。它针对中小型企业和部门解决方案。1.3.6 企业
5、版、评估版和开发人员版(32 位和 64 位)如果需要更高级的商业智能功能或对数据库的正常运行时间有要求,那么企业版是最好的 SQL Server 选择。虽然 SQL Server 标准版可以实现高可用性,但企业版通过其更高端的群集功能以及更高级的镜像和日志传送功能,更好地实现了高可用性。当然,其价格也更高。如果采用处理器许可模型,SQL Server 企业版需要您为每个处理器支付约 25 000 美元。本章后面将介绍许可模型。SQL Server 评估版是 SQL Server 企业版的一种变体,它会在 180 天后过期。在规定的评估期后,SQL Server 将不能启动。该版本与企业版有着
6、相同的功能,可以升级后用于生产。它本身不能用于生产。SQL Server 开发人员版允许使用 SQL Server 进行应用程序开发和测试。它包含企业版的所有功能。该版本不能用于生产。1.3.7 操作系统根据服务器或工作站上运行的操作系统,可安装的 SQL Server 版本差别很大,如表 1-7 所示。该表只是列举了代表性的,并未包括每种 OS 和 SQL 组合的所有版本和服务补丁。表 1-7操 作 系 统 SQL速成版工作组板网络版标准版开发人员版企业版Windows Server 2003SP2+标准版 Windows Server 2003SP2+企业版 Windows Server
7、2008 标准版Windows Server 2008企业版 (续表)操 作 系 统 SQ速成版工作组板网络版标准版开发人员版企业版Windows Server 2008数据中心版 Windows 2008 Server数据中心版 Windows Vista Windows XPSP2 专业版 注意:SQL Server 2008 将不采用任何 Windows Server 2008 核心安装选项,因为 Windows 2008 Server Core(服务器核心 )不支持.NET Framework ,而这是 SQL Server 2008 所需的。Microsoft 可能在后面会添加这一支
8、持。1.3.8 SQL Server 的最大容量内存和处理器数是考虑 SQL Server 的伸缩性时起非常重要作用的因素。可以想见,可伸缩的内存数和处理器数因购买的 SQL Server 版本而异。有时,伸缩性将直接受限于操作系统的最大内存和处理器数,这也是 64 位变得非常有用的原因。第 15 章将更详细地介绍64 位的可伸缩性。表 1-8 列出了各种版本支持的内存和处理器数。表 1-8 容 量SQL 速成版工 作 组 版网 络 版标 准 版企 业 版32 位内存支持1GB OS 最大支持OS 最大支持OS 最大支持OS 最大支持64 位内存支持N/A 4GB OS 最大支持OS 最大支持
9、OS 最大支持最大数 4GB 无限制 无限制 无限制 无限制据库大小处理器数1 2 4 4 OS 最大支持【责任编辑: 云霞 TEL:(010)68476606】1.3.9 不同版本的数据库功能(1)SQL Server 较高级的 (也较昂贵的)版本提供的主要优点是支持更多的功能。下面的表格中就列出了各种版本包含的功能。这些表格并未包含 SQL Server 的所有功能,而是重点介绍了与使用者密切相关的一些功能和帮助区分各种版本的方面。这一信息是从 Microsoft联机丛书获取的。1. 可伸缩性随着对数据库资源的需求增加,提供较高的可伸缩性的能力变得非常重要。表 1-9 列出了可伸缩性功能,
10、正如预料的,它们都只包括在企业版中。表 1-9功 能 高级速成版速成版网络版工作组版标准版企业版分区 数据压缩资源调控器分区表并行2. 高可用性使数据联机并备用对于大部分设备来说是首要的。表 1-10 列出了与高可用性相关的功能特性。表 1-10功 能 高级速成版速成版网络版工作组版标准版企业版多实例支持16 16 16 16 16 50联机系统更改 备份日志传送 数据库镜像仅见证服务器仅见证服务器仅见证服务器仅见证服务器(仅完全安全)(完全)故障转移群集2 个节点OS 最大支持动态 AWE 无需客户端配置的故障转移从镜像自动恢复损坏数据库快照快速恢复 联机索引 联机还原 镜像备份 热添加内存
11、(续表)功能 高级速成版速成版网络版工作组版标准版企业版P2P 节点的联机配置热添加CPU备份压缩3. 安全性随着数据调控、审核能力和可计量性要求的不断增加,安全功能变得更为重要。SQL Server 2008 包括了审核功能,以及帮助满足这些要求的新的加密功能,如表 1-11 所示。表 1-11功 能 高级速成版速成版网络版工作组版标准版企业版符合 C2 的 跟踪SQL 审核基础 细粒度审核 透明数据库加密ISV 加密(出箱密钥管理)4. 复制SQL Server 允许通过复制创建数据副本。根据数据需求,可以选择定期快照、基于事务的复制,或是针对偶尔连接用户的复制。表 1-12 列出了各版本
12、的复制功能。表 1-12功 能高级速成版速成版 网络版 工作组版标准版企业版合并复制仅订阅服务器仅订阅服务器仅订阅服务器仅订阅服务器 事务复制仅订阅服务器仅订阅服务器仅订阅服务器仅订阅服务器 快照复制仅订阅服务器仅订阅服务器仅订阅服务器仅订阅服务器 更改跟踪 异类订阅服务器 Oracle发布P2P 事务复制5. 可管理性尽管 SQL Server 数据库易于管理,但 Microsoft 还是在这一方面作了改进,允许 DBA轻松管理较大的服务器组。这一版本中特别有趣和重要的是基于策略的管理功能。表 1-13列出了各版本包括的管理功能。 表 1-13功 能高级速成版速成版 网络版工作组版标准版企业
13、版用户实例 专用管理连接(在跟踪标志下)(在跟踪标志下) 基于策略的配置 基于策略的管理 性能数据收集和数据仓库 标准性能报表 计划指南 计划指南的计划冻结 基于策略的最佳实践 基于多服务器策略的管理 分布式分区视图并行索引操作自动的查询到索引视图匹配并行数据库备份校验和检查数据库邮件 数据库迁移工具 6. 管理工具表 1-14 列出的是随 SQL Server 2008 的每个版本一起提供的管理工具。现在,SQL 高级速成版包括了 SQL Server Management Studio。表 1-14功 能 高级速成版速成版网络版 工作组版标准版企业版SQL 管理对象(SMO) SQL 配置
14、管理器 SQL CMD(命令提示工具) SQL Server Management Studio(速成版)(速成版) SQL Profiler (续表)功 能 高级速成版速成版网络版工作组版标准版企业版SQL Server Agent 数据库调整顾问 Microsoft Operations Manager 补丁 表 1-14 表明了网络版包含 SQL Server Management Studio 的速成版。这是从 Microsoft 联机丛书获取的信息。但是,作者对此并不确定。如果此信息对你有关网络版的决策很关键,那么请向 Microsoft 咨询以获取确定答复。1.3.9 不同版本的数
15、据库功能(2)7. 开发工具与 SQL Server 紧密集成的开发工具通过多年的改进,现在变得越来越好。Intellisense就是新添加的一个较好的工具,如果使用 Multidimensional Expression(MDX),那么 MDX编辑器会很有帮助。表 1-15 列出了各版本提供的开发功能。表 1-15功 能 高级速成版速成版网络版工作组版标准版企业版Visual Studio 集成 SQL 查询、编辑和设计工具 Intellisense(Transact-SQL和 MDX) 版本控制支持 Business IntelligenceDevelopment studio MDX 编
16、辑、调试和设计工具 8. 可编程性尽管在此版本中已去掉通知服务,但 Service Broker 仍保留着。所有版本中也包括了较强大的 XML 支持。新的日期 /时间数据类型、合并/插入和文件流支持也是令人兴奋的新添加功能。表 1-16 列出了各版本提供的编程功能。表 1-16功 能 高级速成版速成版网络版工作组版标准版企业版公共语言运行库(CLR)集成 本地 XML 支持 XML 索引 MERGE 和UPSERT 功能 FILESTREAM支持 (续表)功 能 高级速成版速成版网络版工作组版标准版企业版日期和时间数据类型 国际化支持 全文搜索 查询中的语言规范 Service Broker(
17、消息传递)仅客户端仅客户端仅客户端 XML/A 支持 Web 服务(HTTP/SOAP端点) 9. 空间和位置服务SQL Server 2008 添加了地理空间库和数据类型,如表 1-17 所示,所有版本都提供。表 1-17功 能 高级速成版速成版网络版工作组版标准版企业版空间索引 大地测量数据类型 高级空间库 基于标准的空间支持 10. 集成服务集成服务(Integration Services)允许从一个数据源向另一个数据源提取、转换以及加载数据。标准版和企业版提供了额外的连接和转换功能,如表 1-18 所示。表 1-18功 能 高级速成版速成版网络版工作组版标准版企业版带有基本源/目标的
18、导入/导出向导以及Execute SQL 任 务Integration Services 运行库 Integration Services API 和对象模型 包括 VSTA 脚本的 SSIS 设计器 基本任务和转换 日志提供程序和日志记录 数据分析工具 (续表)功 能 高级速成版速成版网络版工作组版标准版企业版其他源和目标:原始文件源XML 源Datareader 目标原始文件目标记录集目标SQL Server Compact 目标SQL Server 目标 高级源和目标:数据挖掘查询转换模糊查找和模糊分组转换术语提取和术语查找转换数据挖掘模型定型目标维度处理目标分区处理目标 11. 数据仓
19、库创建2008 版本中的新设计器和临时架构的自动生成功能包括在标准版和企业版中,如表 1-19 所示。表 1-19功 能 高级速成版速成版网络版工作组版标准版企业版在无需数据库的情况下创建多维数据集 自动生成临时的、数据仓库架构 属性关系设计器 高效聚合设计器 12. 数据仓库规模和性能所有性能和高可伸缩性功能在企业版中,如表 1-20 所示。变更数据捕捉功能是非常有趣的。表 1-20功 能 高级速成版速成版网络版工作组版标准版企业版变更数据捕换星型联接查询优化可伸缩的只读 AS 配置主动缓存 自动并行分区处理分区多维数据集分布式分区多维数据集13. 多维分析特殊聚合和智能以及半累加性度量值是
20、可用的。在支持 SSAS 的地方都包括常规性能改进。表 1-28 列出了各版本包括的多维分析功能。表 1-28功 能 高级速成版速成版网络版工作组版标准版企业版SQL Server AnalysisServices 服务 SQL Server AnalysisServices 备份 常规性能/规模改进 维度、属性关系、聚合和多维数据集设计改进 个性化扩展插件 财务聚合 分区客户 自定义汇总 半累加性度量值 写回维度 链接度量值和维度二进制和压缩的XML 传输帐户智能 透视 Analysis Services共享和可伸缩的数据库14. 数据挖掘严格的数据挖掘工作将要求采用 SQL Server
21、企业版。表 1-22功 能 高级速 速成 网络 工作 标准 企业成版 版 版 组版 版 版标准算法 数据挖掘工具:向导、编辑器、查询生成器 交叉验证 挖掘结构数据的筛选子集的模型时序:ARTXP和ARIMA 模型之间的自定义混合时序:使用新数据的预测无限制并发数据挖掘查询高级配置和算法调整算法插件 API 并行模型处理 时序:跨系列预测关联规则的无限制属性序列预测 nave bayes、神经网络和逻辑回归的多个预测目标15. 报表许多环境中支持的报表服务(SSAS)是最为流行的 SQL Server 功能中的一个。SQL Server 2008 中特别有用的是在 IIS 外部运行 SSRS 服
22、务。表 1-23 列出了各版本的报表功能。表 1-23功 能 高级速成版速成版网络版 工作组版 标准版企业版报表服务器 报表设计器 报表管理器 基于角色的安全性(固定角色)(固定角色)(固定角色) 即席报表(报表生成器) Word 导出和增强的文本格式设置 企业规划报表引擎 (续表)功 能 高级速成版速成版网络版工作组版标准版企业版IIS 不可知的报表部署 更新的管理工具 报表定义自定义扩展插件(RDCE) SharePoint 集成 增强的 SSRS 仪表和图表 自定义身份验证 导出到 Excel、PDF以及图像 远程和非关系数据源支持 电子邮件和文件共享传递 报表历史记录、计划、订阅和缓存
23、 数据源、传递以及呈现扩展性 扩展(Web 场) 无限制点击 数据驱动订阅 Reporting Services内存限制4GB 4GB 4GB 无限制无限制【责任编辑: 云霞 TEL:(010)68476606】1.3.10 许可每位 DBA 都可能会遇到一两个可怕的许可问题,希望本节能够回答一些常见的问题。32 位和 64 位服务器在价格上没有区别。SQL Server 许可可应用于所有组件,也可分别应用于每个组件。如果某台机器上拥有许可,则可以安装 SQL Server、Reporting Services、SQL Server Engine、 Analysis Services 以及 I
24、ntegration Services。不涉及额外的许可;它是单个的产品。不过,如果您希望只安装 Analysis Services 或在一台不同的物理服务器上安装 SQL Server的其他部分,这就是另一个许可。许可可能变得非常复杂,并且许可选项也常改变,因此在作出任何重大的许可前,向Microsoft 的代表咨询官方意见是明智的选择。1. 许可选项下面的列表给出了可用的基本许可模型。处理器许可模型:如果采用处理器许可模型,则需要为每个处理器支付许可费。如果是通过 Internet 访问 SQL Server,或是大量客户端需要访问每个 SQL Server,则该模型是很好的选择。使用该模
25、型,不需要为每个客户端、Internet 访问或其他支付额外的许可费。服务器设备客户端访问许可(CAL):服务器设备 CAL 模型要求为每台服务器( 而不是处理器模型中的每个处理器) 支付许可费,外加访问 SQL Server 功能的每台设备(客户端计算机) 的许可费。如果防火墙中有少量访问 SQL Server 的客户端,有大量用户访问同一个设备,则这个模型是很好的选择。多个用户访问一个设备的示例包括购物中心的一个信息亭、24 小时服务的呼叫中心。例如,假定呼叫中心中的每台设备由三人使用,他们每人上三班制中的一班工作。可以为 SQL Server 购买服务器许可,外加设备的单个 CAL,这样
26、,这三名雇员都可访问。一旦某台设备获得一个 CAL,该设备就可以访问环境中的任何许可的 SQL Server。服务器用户 CAL:这个模型要求为每台服务器支付许可费,外加每个用户的许可费。如果用户不需要在防火墙外进行 SQL 访问,则用户与服务器的比率较小,通常使用这一模型。根据编写本书时的价格来看,如果每台处理器的用户少于 25 名(对标准版而言) 和每台处理器的用户少于 75 名(对企业版而言 ),这种用户 CAL 可能是很好的选择。相比于设备CAL,如果用户有多台设备需要访问 SQL Server,用户 CAL 也是更好的选择。这可能发生在某个用户既拥有桌面 PC 又拥有笔记本的情况下。
27、中间件、事务服务器以及多层体系结构:必须为访问 SQL Server 的每台唯一的设备获取设备 CAL。您可能有一个多层环境,其中数据访问层运行于单个设备上,支持多个用户的应用程序连接到数据访问层,然后数据访问层连接到 SQL Server。为单个数据访问层支付许可费是不够的,必须为用户的每台设备(PC)支付 CAL 费用。使用中间件、事务服务器或多层体系结构不能使您免于为每台设备或用户支付许可费。超线程和多核处理器:不需要为超线程或多核处理器支付额外或专门的费用。尽管可以将 SQL Server 配置为使用少量处理器,其数目要少于安装数,但只要操作系统能“看到“它,就必须为主板上的每个处理器
28、支付费用。例如,如果服务器上有 4 个处理器,而将SQL Server 配置为只使用两个,那仍必须为 4 个处理器支付许可费。避开这一问题的唯一方法是使一些处理器对于操作系统不可用,方法是禁用它们、将它们取出主板或是在一个有着更少量处理器的虚拟环境中运行 SQL Server。2. 虚拟服务器许可问题可以在虚拟环境中运行 SQL Server 2008。SQL Server 运行的每个虚拟环境中至少需要一个 SQL 许可。服务器/CAL 许可模型:标准版和工作组版要求对于运行于物理或虚拟环境中的每个SQL Server 实例都有服务器许可。对于三台虚拟机中的每个 SQL Server 标准版实
29、例来说,都将需要一个服务器许可-总共三个服务器许可。如果使用的是企业版,那 SQL Server 运行的每个物理环境都要有一个服务器许可。例如,将一台较大的机器划分为若干物理环境。运行 SQL Server 企业版实例的每个物理环境要求单独的服务器许可。但是,一旦物理服务器获得一个企业版许可,则对运行于这台物理服务器的虚拟环境上的其他实例就无额外许可要求。重申一下,企业版要求每台物理服务器一个许可,包括所有虚拟服务器。标准版和工作组版要求每台虚拟服务器有一个单独的许可。处理器许可模型:一旦某个处理器有了 SQL Server 许可,它可用于任意多个 SQL Server 实例,而不管是在物理环
30、境还是虚拟环境中。如果在物理环境中运行 SQL,必须有对所有处理器的许可。如果在虚拟环境中运行SQL,环境可用的每个处理器都必须有许可。不过,只要为处理器支付一次许可。假定有一台 4 处理器的机器,希望为其中两个处理器支付许可费,即处理器 2 和 3。不可以在该物理环境上运行 SQL Server,因为没有所有处理器的许可。不过可以建立任意多个只使用处理器 2 和 3 的虚拟环境。也可以在任意多个虚拟机上建立任意多个 SQL Server 命名实例,因为已为这些虚拟机可用的处理器支付了 SQL Server 处理器许可费。不管虚拟机或 SQL Server 实例有多少,都不要求 SQL Ser
31、ver 处理器许可数多于服务器上的处理器数。被动服务器许可:SQL Server 有三个可用于故障转移支持的功能。数据库镜像故障转移群集备份日志传送这些功能允许另一服务器从失效的服务器中拾起工作。故障转移或被动服务器一般不由客户端使用,除非是主服务器失效。不必许可被动服务器,除非是使用处理器许可模型,被动服务器的处理器多于主动服务器。如果是这种情况,则必须为被动服务器上的每个额外处理器购买处理器许可。被动服务器可能会接替主动服务器的工作 30 天。之后,必须对被动服务器进行许可。报表服务许可:报表服务由两部分组成-Reporting Services Web 服务和 Reporting Ser
32、vices 元数据数据库。元数据数据库存储有关报表、安全和订阅的信息。每个报表服务安装程序必须连接 SQL Server 元数据数据库。这两个组件都必须有一个有效的 SQL 许可。如果它们安装在同一服务器上,则需要一个许可。要增强可伸缩性,其中要做的第一件事情是在一台单独的物理服务器上放置 Reporting Services 数据库,而不是 Reporting Services Web 服务-那是两个许可。处理器许可模型:如果在外部网或内部网环境中使用报表服务,这个模型是必要的。不需要额外的设备或用户 CAL。服务器/Cal 许可模型:这个模型要求有报表服务的服务器许可,有直接或间接访问报表
33、的每个设备/用户(包括报表生成器和报表设计器)的设备或用户 CAL。第 5 章 自动化 SQL ServerDBA 所做的大部分工作都是重复性的:备份数据库、重建索引、检查文件大小以及磁盘空间可用性。对于如事务日志已满或磁盘空间不足的情况采取措施也是一些 DBA 日常工作的一部分。随着需要管理的服务器数量增加,问题也迅速增多。自动化这些工作不仅可以提供便利,也是企业系统的需求。SQL Server 2008 中的两个功能给 DBA 提供了帮助-维护计划和 SQL Server 代理。维护计划可以自动化数据库的例行维护活动,备份、数据库完整性检查和索引维护任务可以随维护计划一起自动化。维护计划向
34、导使您可以很容易地通过回答简单的问题来创建维护计划。SQL Server 代理可用于手动创建在 SQL Server 上运行的作业计划,进一步增强了DBA 自动化例行活动的能力。5.1 维护计划维护计划是在 SQL Server 中快速而轻松地自动化例行维护任务的方法。它们只是常规SQL Server 代理作业之上的用户界面。但是,计划中的任务不等同于作业步骤,因为维护计划是使用 SQL Server Integration Services(SSIS)创建的,所以它们是作为映射到维护计划名的某个作业中的单个 SSIS 作业步骤运行。对于例行维护任务来说,它们是在许多 SQL Server 上自动化所需的一切。有两种方法创建维护计划。快速而简单的方法是使用维护计划向导,手动方法是使用维护计划设计器。