ITPub博客

首页 > 数据库 > SQL Server > SQL Server 2008性能监控和性能优化

SQL Server 2008性能监控和性能优化

SQL Server 作者:season0891 时间:2014-02-12 17:33:23 0 删除 编辑

**SQL Server 2008性能监控和性能优化


performance analyzing, perf tuning
《SQL Server 2008 Database Monitoring and Performance》课程笔记

【单骑】整理,转载请标明来源:http://liaohairun.blog.163.com

参考资料:
更多信息可以通过以下入口获得:
http://technet.microsoft.com/zh-cn/library/ms181091(SQL.100).aspx
http://technet.microsoft.com/zh-cn/library/ms174215(SQL.100).aspx
http://technet.microsoft.com/zh-cn/library/bb895232.aspx

■本课程的目的:基本了解微软对于SQL SERVER的性能调优的工具,在谈论相关议题时能够有大概念、在需要实际运用相关技巧时能迅速上手。

■SQL Server 提供下列工具来监视 SQL Server 的组件:

SQL 跟踪
SQL Server Profiler ——本课程的重点
Database Engine Tuning Advisor (数据库引擎优化顾问) ——本课程的重点
Resource Governor
SQL Server Data Collector
SQL Server Management Studio 活动监视器
SQL Server Management Studio 图形显示计划
存储过程
数据库控制台命令 (DBCC)
内置函数
跟踪标志
Perfmon -- Windows系统工具

■SQL Server Profiler的定位是一个tracer: 跟踪者。它对SQL Server中的活动进行跟踪,从而方便找出服务器中发生的事情,以便分析哪些是需要关注甚至调整的。
可以对profiler定义“收集有关特定事件的数据”或“排除不适合您的情况的事件”。
例如对于存储vendor,可能关注空间调整相关的事件:
跟踪模板属性-> 事件选择-> 显示所有事件-> Database-> "Data File Auto Grow"

■选择不同的模板,通常TSQL_REPLAY较强大;然后在“事件选择”中选择想要跟踪的event;可以用“列筛选器”更详细地定义跟踪对象。

■跟踪的结果可以保存为文件或数据库中的表。

■可以将通过 SQL Server Profiler捕获的跟踪重新加载到 SQL Server Profiler中进行查看和分析;
也可以用其它工具(例如前面提到的数据库引擎优化顾问)分析Profiler捕获的结果。

■重播跟踪
重播就是保存跟踪并在以后对其重播的功能。此功能使您可以再现跟踪中捕获的活动。在创建或编辑跟踪时,可以保存跟踪供以后重播。
"replaying trace"是可以在不同的数据库中进行的。

■数据库引擎优化顾问(Database Engine Tuning Advisor, DTA)

SQL2005引入,从原来的索引优化向导(Index Tuning Wizard)演化而来的一个工具。
借助 MicrosoftSQL Server 数据库引擎优化顾问,不必精通数据库结构或深谙 MicrosoftSQL Server,即可选择和创建索引、索引视图和分区的最佳集合。
数据库引擎优化顾问分析一个或多个数据库的工作负荷和物理实现。工作负荷是对要优化的一个或多个数据库执行的一组 Transact-SQL 语句。在优化数据库时,数据库引擎优化顾问将使用跟踪文件、跟踪表或 Transact-SQL 脚本作为工作负荷输入。可以在 SQL Server Management Studio 中使用查询编辑器创建 Transact-SQL 脚本工作负荷。可以通过使用 SQL Server Profiler 中的优化模板来创建跟踪文件和跟踪表工作负荷。有关使用 SQL Server Profiler 创建可用作工作负荷的跟踪的信息,请参阅SQL Server Profiler 简介。
对工作负荷进行分析后,数据库引擎优化顾问会建议您添加、删除、或修改数据库中的物理设计结构。此顾问还可针对应收集哪些统计信息来备份物理设计结构提出建议。物理设计结构包括聚集索引、非聚集索引、索引视图和分区。数据库引擎优化顾问会推荐一组物理设计结构,以降低工作负荷的开销(由查询优化器估计)。

■从演进过程和设计思路看,DTA主要优化索引的利用,类似于Oracle的CBO模式(基于cost的优化模式)的思路。
Profiler和DTA结合起来用,类似于Oracle的Performance Tuning Pack;
而针对个别效率低下的SQL,Oracle 10G中可采用SQL优化器(SQL Tuning Advisor STA)。

■数据库引擎优化顾问的优化功能 
数据库引擎优化顾问具备下列功能:

通过使用查询优化器分析工作负荷中的查询,推荐数据库的最佳索引组合。
为工作负荷中引用的数据库推荐对齐分区或非对齐分区。
推荐工作负荷中引用的数据库的索引视图。
分析所建议的更改将会产生的影响,包括索引的使用,查询在表之间的分布,以及查询在工作负荷中的性能。
推荐为执行一个小型的问题查询集而对数据库进行优化的方法。
允许通过指定磁盘空间约束等高级选项对推荐进行自定义。
提供对所给工作负荷的建议执行效果的汇总报告。 
考虑备选方案,即:您以假定配置的形式提供可能的设计结构方案,供数据库引擎优化顾问进行评估。

 

■数据库引擎优化顾问通常用GUI启动;在软件或脚本中则可以用dta.exe命令行工具调用
dta.exe

■使用DTA的步骤:
生成workload文件或workload表(可以结合SQL Server Profiler生成);
启动DTA;
运行分析;
检查分析结果;
apply分析结果。

■RESOURCE GOVERNOR
alter resource governor ...
用RESOURCE GOVERNOR管理sql server的workload和资源,这些资源是 CPU 和内存。

资源调控器是 SQL Server 2008 中的一项新技术,使用该技术可以通过指定传入请求的资源消耗限制管理 SQL Server 工作负荷和资源。
在资源调控器上下文中,工作负荷是一组大小相似的查询或请求,可以且应该视为单个实体。这并不是必需的,但是工作负荷的资源使用模式越统一,通过资源调控器可能获得的益处越多。
资源限制可以实时重新配置,对正在执行的工作负荷影响非常小。

在相同服务器上存在多个不同工作负荷的环境中,使用资源调控器可以区分这些工作负荷并能根据指定的限制在请求时分配共享资源。

资源调控器仅在 SQL Server 的 Enterprise Edition、Developer Edition 和 Evaluation Edition 中提供。

■SQL Server Resource Governor 类似于Oracle Resource Manager。
但Oracle早在8i时代就部署了该功能;而且Oracle能控制更多的资源(或者说能更小粒度地控制资源),包括并行度和执行时长甚至UNDO等

■为支持resource governor, SQL2008提供了一套相关的动态视图:
sys.dm_resource_governor_workload_groups
sys.dm_resource_governor_resource_pools
sys.dm_resource_governor_configuration

■resource governor有助于:
监控系统资源的使用情况;
分配资源;
限制对资源的占用(确保其它应用或回话有资源可用);
资源利用优先级的管理;
相关告警。

■SQL Data Collector
性能数据收集器和数据仓库(Performance Data Collection and Warehouse)。
Data Collection是SQL Server 2008中用于多种数据集采集功能的新组件。它可以一直运行或者基于用户定义的日程运行。组件采集到的数据会存储到称为Management Data Warehouse的关系数据库中。
该组件提供了跨越数据库服务器和应用的跨时间段的数据采集功能。和SQL Trace所不同的是,它的数据源并不局限于性能方面。它同时提供API来扩展采集机制。
开发者通过在Server上配置Data Collection,然后把收集到的数据填充到中心MDW中。当前,该组件的的数据采集API仅支持SQL Server 2005和Server 2008。
使用方法:在SSMS的"Management"目录中,右键"Data Collection",选择"Configure Management Data Warehouse"。透过配置向导,设置MDW。SSMS中集成了对MDW的报表分析展示功能。

这个工具就是走Oracle StatsPack/AWR/ADDM 的路子。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/90618/viewspace-1080402/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-06-10

  • 博文量
    791
  • 访问量
    1939086