认识SQL Server 2008进行优化性能

来源:岁月联盟 编辑:zhuzhu 时间:2009-04-18

  利用 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 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(事件日志)警报,并提供相关的知识文章,以提供附加的用户详情、可能的原因并推荐解决方法。