技术开发 频道

SQL Server 2008 可管理性

【IT168 技术文档】
SQL Server 2008 可管理性
SQL Server 技术文章

作者:Graeme Malcolm 和 Ann Weber(内容主管)
技术审查:Niraj Nagrani、Dan Jones、Bill Ramos 和 Oscar Naim
项目编辑:Joanne Hodgins


发布日期:2007年8月
更新日期:2008年1月
适用产品:SQL Server 2008

摘要:Microsoft® SQL Server™ 2008 是以之前版本的管理功能为基础而开发的,提供了各种工具和框架,帮助用户管理企业数据环境。SQL Server 2008 的全面管理自动化功能减少了维护数据服务以及确保遵从更改管理策略所需的管理开销。新的端对端性能监视和分析套件帮助用户优化企业内部各种 SQL Server 服务的响应速度和可伸缩性,而可伸缩的管理接口和工具可帮助用户减少服务器管理工作量,以专注于价值更高的活动。

版权

这是一份预备文档,在本文档中所述软件的最终商业版本发布之前,该文档的内容可能会发生重大变化。

本文档中提供的信息代表了 Microsoft Corporation 当前(软件发布之前)对所讨论问题持有的观点。因为 Microsoft 必须响应不断变化的市场条件,所以其当前的观点不应被解释为是一种承诺,软件发布之后,Microsoft 不能保证现在所提供的所有信息准确无误。

这份白皮书仅供参考。 Microsoft 对本文档中提供的信息不做任何担保、明示、暗示或法律方面的承诺。

用户有责任遵守所有适用的版权法。在版权权利限制下,未经 Microsoft 公司明确的书面许可,本文档的任何内容不能被复制、存储或放进检索系统,或者以任何形式或任何手段(电子、机械、复印、录制或其他)或为达到任何目的进行转换。

Microsoft 对本文涵盖的主题内容可能拥有专利、专利申请、商标、版权或其他知识产权。没有来自 Microsoft 的任何书面许可协议的明确表示,本文不赋予您对这些专利、商标、版权或其他知识产权的任何许可。

Ó 2007 Microsoft Corporation。保留所有权利。


Microsoft 和 SQL Server 是 Microsoft Corporation 在美国和/或其他国家/地区的商标或注册商标。

本文中提及的真实的公司名称和产品名称可能是其各自所有者的商标。

简介
Microsoft SQL Server 的每个版本都会带来创新的可管理性功能,通过自动化管理任务、集中管理及使管理员专注于具有更高价值的战略活动上,降低了数据服务解决方案的总体拥有成本。Microsoft SQL Server 2008 是以早期发布的企业级版本的可管理性功能为基础创建的,而且引进了全面的性能数据收集器、仓库、报表以及基于策略的管理解决方案,使用户能够对基于 SQL Server 的企业数据服务解决方案进行前所未有的控制。

本文介绍了 SQL Server 2008 的可管理性功能,并描述了它们的用途:
自动化维护、非常好的实践以及配置管理,以减少管理开销。
分析及优化企业范围内的数据服务性能。
方便地伸缩管理操作并管理遍及组织各处的各类数据服务。
 

  SQL Server 2008 通过丰富的、基于策略的配置管理以及维护任务的自动化,缩短了数据库管理员和操作员执行管理功能所需的时间。

利用基于策略的管理配置 SQL Server

“基于策略的框架”能够定义策略,并将其应用于数据环境中的服务器、数据库及其他对象。定义良好的策略有助于管理员在数据服务环境中主动控制及管理更改。该框架具有以下优势:

意向管理。该框架提供了系统配置的逻辑视图,使管理员能够主动定义所需的数据服务配置,而不是在出现问题时才执行更改。
智能监视。“基于策略的框架”策略可以监视并阻止对系统进行偏离所需配置的更改。
虚拟管理。有了该框架,可以跨越多台服务器进行管理,这使整个企业执行一致的配置策略更加容易。

在配置策略管理时,“基于策略的框架”使用下列对象:

Facet(方面)。包含一些属性,用于揭示与策略管理某领域相关的选项。例如,Surface Area(外围应用)包含与某些特定的 SQL Server 功能有关的属性,如 Database Mail Enabled 和 CLR Integration Enabled。

Condition(条件)。表示 facet 状态,基于单个 facet,可用于一个或多个策略中。例如,可以创建名为Minimal Surface Area 的条件,其中 Surface Area facet 中的所有属性都将被赋予False 值。

Policy(策略)。包含针对一个或多个目标强制实施的单个条件。例如,可以创建名为 Locked Down Server 的策略,它将 Minimal Surface Area 条件赋予该服务器。

Category(类别)。包含一个或多个策略。数据库拥有者可将数据库订阅到一个或多个类别中。例如,可以创建名为 Corporate DB Policies 的类别,其中的一个策略可以强制实施数据库对象命名约定,另一个策略可以强制实施特定的数据库兼容级别,并将业务数据库线订阅到该类别中。在默认情况下,所有数据库都将隐式订阅到默认的类别中。此外,在服务器或数据库级别上,类别可被标记为“活动”或“不活动”,这样管理员就能够控制对策略的强制实施。

Target(目标)。即实体,如服务器、数据库、登录、表或指定策略的其他数据库对象。SQL Server 实例中的所有目标构成了目标层次结构。在策略中,当将一组筛选器应用于目标层次结构时,将会定义目标集。例如,一个目标集可能包含 Production 架构所拥有的所有索引。

基于策略的框架 Facet

每个框架 facet 都代表 SQL Server 管理的一个方面,其中定义了一个或多个相关的配置选项。SQL Server 2008 提供大量预定义的 facet,它们可用于定义强制实施特定配置选项值的策略。例如,SQL Server 2008 提供 Surface Area facet

SQL Server 2008 提供了全面的 facet 集,它们可用于为 SQL Server 2008 实现指定配置设置和规则。下面是一些利用预先提供的 facet 定义策略的例子:

利用 Server facet 强制实施特定的服务器配置设置,如登录身份验证模式。
利用 Surface Area facet 控制要启用的功能,并减少服务器的外围应用。
利用 Database facet 强制实施特定的数据库设置,如兼容级别。
利用 Multipart Name facet 强制实施表视图和其他架构已绑定的数据库对象的命名约定。
利用各种 facet 为数据库解决方案强制实施已知的非常好的实践,例如确保数据文件存储在单独的驱动器上,以与日志文件分开存储
在整个企业范围内分布策略

该框架能够将策略类别发布到环境中附加的 SQL Server 上。可以在 SQL Server 实例(称为“配置服务器”)上定义策略,然后将这些策略复制到其他服务器上(称为“配置目标”)。对配置服务器上的策略或类别所做的任何更改(如将特定类别标记为“不活动”)都会自动传播到所有的配置目标上,这将极大地降低与强制实施企业范围配置策略遵从有关的开销。除了分布策略外,还可利用 Query Editor 在一组配置目标中执行查询。

应用策略

定义策略时,可选择策略的执行模式,这将确定该策略是否为主动强制实施的、是否按计划执行以及是否通过管理干预手动执行。下面是策略属性中的四种执行模式选项:

On Demand。管理员手动调用策略检查。
On Schedule,log out-of-compliance。SQL Server Agent作业定期执行策略,并记录与活动的策略不符的任何配置设置。
Changes are attempted, prevent out-of-compliance。DDL 触发与活动的策略不符的回滚事务。
Changes are attempted, log out-of-compliance。当相关更改发生并记录与活动的策略不符的任何配置设置时,事件通知将评估策略。

自动维护

通过 SQL Server Agent 服务,SQL Server 2008 使管理员能够灵活地为数据库环境提供自动的和主动的管理和维护策略。SQL Server Agent 提供了以下用于配置自动环境的组件:

Jobs(作业)。要完成的一系列单个或多个步骤。这些步骤可能包含 Transact SQL 语句、SQL Server Integration Services 包或命令行语句。
Alerts(警报)。当 SQL Server 中发生特殊事件时,将自动生成这些预配置消息。
Operators(操作员)。利用附加联系人信息定义的用户,可能包含电子邮件地址、传呼机号码或 net send 地址。当预配置的事件发生时,这些操作员将会收到警报,要么通知他们执行成功或失败,要么表示作业或作业步骤已完成。
Schedules(计划)。当作业运行时才指定。作业可与多个计划相关。

多服务器作业可在集中式服务器上进行维护,并可用于管理遍及组织各处的 SQL Server 实例。

维护计划

“维护计划”使管理员能够快速配置标准维护策略,如常规数据库和事务日志备份以及SQL Server 实例上要实施的索引维护。Maintenance Plan Wizard(维护计划向导)提供了一种快速且用户友好的方式,可为一个或多个数据库定义维护计划。与作业类似,在主服务器/目标服务器配置下,多服务器维护计划可在集中式服务器上进行管理。除了 Maintenance Plan Wizard 之外,SQL Server Management Studio 还提供了丰富的设计接口,利用这些接口可为维护计划任务定义增强的工作流。

编程管理接口

通过创建应用程序和脚本以执行常见的管理任务,就可以定制及扩展管理功能。此方法可以极大地简化数据服务的操作和管理,它将管理任务委托给经验较少的管理员,并提供只包含这些任务所需功能的简单实用工具。

SQLCMD

为便于对批处理文件使用多脚本自动化,SQL Server 2008 提供了 SQLCMD。SQLCMD 是一种全面的命令行工具,可用于运行执行管理任务的参数化和多服务器脚本。通过在批处理文件或脚本中结合使用 SQLCMD 操作,可以获得高水平的管理自动化,而且操作员不必使用复杂的管理接口。
服务器管理对象

Server Management Objects(服务器管理对象,SMO)是一种增强的Application Programming Interface(应用程序编程接口,API),可为开发人员呈现完整的 SQL Server 管理环境。可以利用 SMO 创建强大的定制应用程序,以管理基于 SQL Server 的解决方案。
 

数据服务管理的一个重要方面是,确保数据库和应用程序能够提供所需级别的性能。SQL Server 2008 提供了各种工具,它们可用于收集及分析性能数据,并可优化数据库性能,以满足常见数据访问工作负荷的要求。

利用 SQL Server Performance Data Collection 执行数据收集和监视

SQL Server 2008 提供了 Performance Data Collection,它使用户能够收集、分析、疑难解答以及存储 SQL Server 诊断信息。

Performance Data Collection 为性能监视提供了端对端解决方案,监视操作包括低开销的数据收集、集中存储以及针对性能数据生成可分析的报表。可以利用 SQL Server Management Studio 管理收集任务,如启用数据收集器、启动收集组,并将收集组报告视为性能面板。也可以 Performance Data Collection 为基础,利用系统存储过程和 Performance Studio API 创建自己的性能管理工具。

低开销的数据收集

Performance Data Collection 提供了统一的数据收集基础结构,其中包含了想要监视的各个SQL Server 实例中的数据收集器。数据收集器很灵活,可以管理数据收集范围,以适应开发、测试和生产环境。利用数据收集框架,可以方便地收集性能数据和一般的

诊断数据。

数据收集器基础结构引进了下列新概念和定义:
Data Provider(数据提供程序)。性能或诊断信息的来源,包括 SQL Trace(SQL跟踪)、Performance (性能)计数器以及 Transact-SQL 查询(如在 “动态管理视图”中检索数据)。

Collector Type(收集器类型)。这是一种逻辑包装,可提供用于从数据提供程序中收集数据的机制。
Collection Item(集合项)。收集器类型的实例。在创建集合项时,可为该项定义输入属性和收集频率。集合项不能单独存在。
Collection Set(集合组)。数据收集的基本单位。集合组就是一组可在 SQL Server 实例中定义及部署的集合项。集合组可彼此独立运行。
Collection Mode(收集模式)。集合组中的数据被收集及存储的方式。收集模式可设为缓存或非缓存。收集模式影响集合组中已存在的作业和计划类型。

数据收集器是可以扩展的,并支持添加新的数据提供程序。

性能数据的集中存储

配置数据收集器之后,将创建默认名称为 MDW 的关系数据库,它将作为管理数据仓库存储收集来的数据。该数据库可作为数据收集器驻留在同一系统中,也可驻留在单独的服务器上。管理数据仓库中的对象被分为下列三类预配置架构,每种架构都有不同的用途:

Core 架构包括表和存储过程,用于组织和识别收集来的数据。
Snapshot 架构包括数据表、视图以及其他对象,以支持来自标准收集器类型的数据。
Custom_Snapshot 架构能够创建新数据表,以支持用户定义的集合组,这些集合组是从标准的和扩展的收集器类型创建的。
分析报告
Performance Data Collection 有助于用户利用一组健壮的预配置系统集合组,快速分析收集来的数据,这些集合组包括 Server Activity (服务器活动)、Query Statistics(查询统计信息) 和 Disk Usage(磁盘使用情况)。Server Activity 系统集合组是大多数监视和疑难解答应用场景的起点。一组与每个系统集合组相关的报告将在 SQL Server Management Studio 中发布,这些报告也可用作性能面板,帮助用户分析数据库系统的性能

优化数据库性能

SQL Server 2008 提供了多种集成良好的工具,以优化数据库环境。这些工具使操作员和管理员能够收集统计数据和其他数据,以便在企业中提供优化的数据库环境性能。

SQL Server Profiler
对于通过 SQL Trace 提供的功能,SQL Server Profiler为其提供图形化界面,以显示 SQL Server 在内部如何解析查询。有了

SQL Server Profiler,就可以捕获由 SQL Server 实例上的工作负荷所生成的活动。被捕获及显示的事件可利用预定义的模板进行定义,可以修改系统提供的模板来创建自己的模板。可将被捕获的工作负荷保存到表中或文件中,以供未来评估。可以根据连接上下文,立即在 SQL Server Management Studio 中启动新跟踪。例如,如想跟踪特定 Query Editor (查询编辑器)会话的语句执行情况,新的Trace Query in SQL Server Profiler 命令将立即启动跟踪,且该跟踪将查询窗口 SPID 用作筛选器。

在生产系统中收集工作负荷后,可在新的测试系统上重播这些工作负荷,以使用真实的工作负荷验证性能。也可将这些工作负荷与System Monitor Performance Counter (系统监视性能计数器)日志关联起来,以查看工作负荷对系统性能的影响。

在 SQL Server 2008 中,可以利用 SQL Server Profiler 捕获 Microsoft SQL Server™ 2000、Microsoft SQL Server™ 2005 、SQL Server 2008 数据库引擎实例中的活动,以及 SQL Server 2005 和 SQL Server 2008 Analysis Services 实例中的活动。

Database Engine Tuning Advisor

可以利用 Database Engine Tuning Advisor(数据库引擎优化顾问,DTA)洞察数据库的现有索引和分区结构,并通过创建适当的索引和分区结构来获取与提高数据库性能有关的建议。除了优化索引结构外,DTA 可以推荐新的物理数据结构,包括分区。DTA 还能够对多台服务器进行调整,并限制调整算法运行的时间。可以通过命令行以及图形化工具使用 DTA。命令行工具能够利用高级脚本选项。

SQL Server Management Studio 报告

除了 Performance Studio 提供的性能面板报告外,SQL Server Management Studio 还包括大量的服务器级和数据库级标准报告,可用于查看性能统计和实时活动。可以利用这些报告疑难解答由于资源消耗过大或并行性导致的性能问题。图5显示了“内存占用”标准报告。

SQL Server 管理包

SQL Server Management Pack for Microsoft System Center Operations Manager 可监视SQL Server 2008 的可用性和性能,并且在发生配置问题时发出警报。Management Pack(管理包)收集 Event Log(事件日志)警报,并提供相关的知识文章,以提供附加的用户详情、可能的原因并推荐解决方法。

利用 SQL Server 2008 实现可伸缩的管理

如今的组织需要存储和管理不断增长的数据量,并需要支持不断增加的需要访问这些数据的软件应用程序和服务。该趋势导致数据服务解决方案遍及企业各处,这将极大地增加数据库管理员和其他操作支持人员的工作负荷。虽然服务器合并可以显著减少需要管理的数据库服务器数量,但不同类型数据服务的多样性意味着数据管理功能必须能够适应企业不同层次的要求,这些服务包括:联机事务处理(OLTP)数据库、联机分析处理(OLAP)数据库、报告解决方案,以及提取、转换和加载(ETL)操作,还有偶尔在便携式计算机和移动设备上连接的数据解决方案。
 

SQL Server Management Studio 是一种全面的集中式管理工具,使用户能够通过单一界面管理所有的 SQL Server 实例。利用 SQL Server Management Studio 可以管理所有与数据库有关的服务,包括 SQL Server 数据库引擎、Analysis Services、Reporting Services、Integration Services 和 SQL Server Anywhere 版本。数据库管理员可以利用大量标准报告和定制报告,针对数据库环境的状态提供精确的图形化视图。
 
集成配置

SQL Server Configuration Manager (SQL Server配置管理器)使系统管理员能够在一个位置管理 SQL Server 服务和网络库。可将 SQL Server Configuration Tool 作为管理单元添加到 Microsoft Management Console (Microsoft 管理控制台,MMC)中。通过创建为支持作业功能而专门设计的定制管理控制台,系统管理员可以不必打开多种工具,因而能够节省大量时间。此外,SQL Server 配置工具可协助系统管理员管理与功能有关的服务组成部分,这样数据库管理员就不必管理数据库和数据库性能了。
 
结束语

SQL Server 2008 是以旧版 SQL Server 的管理功能为基础创建的,它提供了多种工具和框架,帮助用户管理企业数据环境。SQL Server 2008 提供的工具可协助用户伸缩数据环境,以适应企业不断增加的需求,并优化企业内各种数据库的性能。此外,它将数据库管理员从日常的维护任务中解放出来,并且通过自动化减少管理开销。

获取更多信息:
http://www.microsoft.com/sql

本文对您有帮助吗?请告诉我们您的感受。如果从1(差)到5(极好)的分值中进行选择,您认为本文应该打几分?原因是什么?例如:
您是否认为由于提供了很好的例子、精美的屏幕截图、清晰的文字描述或其他原因而应该给它高分?
您是否认为由于用例不当、屏幕截图模糊、文字描述含混不清而应该给它低分?
您的意见将有助于我们改善所发布白皮书的质量。提交意见。

0
相关文章