Windows Server 2008 可靠性与性能监测器整合了服务器性能优化建议工具的诊断报表功能(在Windows Server 2003中,优化建议工具是需要单独下载的)。通过诊断报表,可以快速显示任一性能数据搜集组的日志内容;通过其缩放功能,可以方便地查看任意时段的性能曲线,从而准确评估优化措施对性能的实际影响。
Windows Server 2008系统诊断报表的界面与Windows Server 2003性能监测器的系统性能监视界面类似。值得一提的是,打开Windows Server 2008的诊断报表后,我们可以选定时间段进行缩放以便更仔细的查看性能数据。另外,诊断报表还提供了多种数据展现形式用以全面分析性能数据日志。如图4、5所示。
图4 Windows Server 2008性能诊断报表的时间窗缩放功能
图5 Windows Server 2008性能诊断报表的多种数据展现多样性
SQL Server 2008性能监测对象
SQL Server 2008提供了丰富的性能监测对象及其计数器。在一台服务器上,同一个性能对象可以有多个实例,例如Databases对象必须与某个具体的数据库实例相关联。对于默认数据库实例,其性能计数器名称的前缀为SQL Server:<对象名称>;对于命名数据库实例,其性能计数器名称的前缀为MSSQL$<实例名称>:<对象名称>。另外,某些性能对象只能有一个实例,例如MemoryManager。
以下针对Windows Server 2008数据库环境的主要性能瓶颈介绍常用的性能计数器,并说明其具体含义。
SQL Server:General Statistics\Temp Tables Created /Sec
SQL Server:General Statistics\Temp Tables for destruction
游标(Cursor)性能瓶颈
在Windows Server 2008 性能监测器中,有关SQL Server 2008游标性能监测的常用计数器为:SQL Server:Cursor Manager By Type – Cursor Requests/Sec。通过它,我们可以知道数据库中游标执行的情况。如果由于大量小批量游标读取而导致Windows 2008数据库服务器的CPU利用率过高,则此计数器通常会显示为每秒数百次的游标操作。此外,SQL Server 2008未提供关于游标缓存大小的计数器。
综上所述,我们可以通过Windows Server 2008的可靠性与性能监测器来对SQL Server 2008的性能计数器进行检测。根据需要组合性能计数器,保存为数据搜集组,在设定的时间执行,然后通过性能诊断报表查看、分析。
与Windows Server 2008的性能数据搜集组类似,SQL Server 2008也提供了新的数据库性能搜集与分析工具。它主要搜集4大类性能数据,它们涉及T-SQL查询相关数据、SQL Server系统追踪(SQL Trace)数据、性能计数器数据以及查询处理活动相关的数据。它们有助于以下系统性能状况的评估、管理规划及性能优化: