性能套件
SQL Server 2008提供了性能套件,它是一个你可以用来收集、分析、排除故障和存储SQL Server 2008诊断信息的集成框架。性能套件为性能监控提供了一个端对端的解决方案,它包括花费较低的收集、统一的存储和性能数据的分析报表。你可以使用SQL Server 2008管理套件来管理收集工作,例如可以使用数据收集器、开始一个收集集合和查看作为性能状态面板的系统收集集合报表。你还可以使用系统存储结构和性能套件应用程序编程接口(API)来建立你自己的基于性能套件的性能管理工具。
性能套件提供了一个统一的数据收集基础设施,它在每一个你想监控的SQL Server实例中有一个数据收集器。这个数据收集器非常灵活,它提供了管理数据收集范围的能力以适应开发、测试和生产环境。你使用这个数据收集框架就可以轻松地收集性能和一般的诊断数据。
这个数据收集器基础设施推出了以下新的概念和定义:
· 数据提供商。性能或诊断信息的来源可以包括SQL Trace 、性能计数器和Transact-SQL查询(例如,从分布式的管理视图中获得数据)。
· 收集器类型。一个逻辑封装,它提供了从数据提供商处收集数据的机制。
· 收集项目。一个收集器类型的实例。当你创建一个收集项目时,你为这个项目定义输入属性和收集频率。一个收集项目不能单独存在。
· 收集集合。数据收集的基本单位。一个收集集合是一组收集项目的集合,它们在一个SQL Server 实例上定义和部署。收集集合可以各自独立地运行。
· 收集模式。一个收集集合中数据收集和存储的方式。这个收集模式可以设置为缓存或不缓存。收集模式影响用于该收集集合的工作和时间表的类型。
数据收集器是可扩展的,它支持增加新的提供商。
当配置数据收集器时,会创建一个默认名称为MDW的关系数据库作为管理数据仓库,其中存储收集的数据。这个数据库可以和数据收集器放在同一个系统上,或者放在一个单独的服务器上。管理数据仓库中的对象分为以下三种预配置schema,目的各不相同:
· Core schema 包括用于组织和标识收集到的数据的表和存储过程。
· Snapshot schema 包括数据表、视图和其它对象,用于支持标准的收集器类型的数据。
· Custom_Snapshot schema 使得可以创建新的数据表来支持用户定义的按标准的和扩展的收集器类型创建的收集集合。
性能套件提供了一组强大的预先配置的系统收集集合,包括Server Activity、Query Statistics和Disk Usage,来帮助你快速地分析你收集的数据。你通常使用Server Activity 系统收集集合来开始监控和故障排除。在SQL Server管理套件中发布了一组与每一个系统收集集合相关的报表,你可以将这些报表作为性能状态面板来帮助你分析你的数据库系统的性能,如图1所示。

图 1:一个性能套件报表
数据仓库和分析性能
数据仓库环境必须能够满足数量不断发展的数据和用户需求,并维护最佳的性能。随着数据仓库查询变得越来越复杂,查询的每一部分都必须进行优化以维护可以接受的性能。在SQL Server 2008中,查询优化器可以动态地导入一个最佳的位图过滤器来加强星型模式(star schema)的查询性能。此外,SQL Server 2008支持数据分割、高级索引功能和索引视图来支持更大型的数据存储,还有稀疏列和有效的数据类型,例如VARDECIMAL,它们降低了包含许多NULL值的大型表所关联的花费(数据仓库的一个普通特性)。
分析服务应用程序需要大型和复杂的计算。宝贵的处理器时间浪费在计算解决NULL 或零的聚合上。在SQL Server 2008分析服务中的块计算使用默认的值,将要计算的表达式的数目降低到最少,并将单元导航限制为整个空间只有一次,而不是每个单元一次,这显著地改进了计算性能。
尽管多维度OLAP(MOLAP)分区提供了更好的查询性能,但是需要回写功能的公司以前都需要使用关系型OLAP(ROLAP)分区来维护回写表。SQL Server 2008增加了对MOLAP分区执行回写操作的能力,这消除了由维护ROLAP回写表所引起的性能下降的问题。