解析SQL Server 2008性能和可扩展性(2)_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:怎样最简单删除SQL Server中所有数据
其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程。 也许很多读者朋友都经历

数据收集器是可扩展的,它支持增加新的提供商。

当配置数据收集器时,会创建一个默认名称为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回写表所引起的性能下降的问题。

报表服务性能

SQL Server 2008报表服务引擎被重新开发以使用按需处理对报表服务添加更好的性能和可扩展性。报表不再局限于内存,因为现在报表处理使用一个文件系统缓存来缓解内存的压力。报表处理还可以适应于其它消耗内存的处理。

一个新的渲染架构解决了之前的渲染器版本中存在的内存利用问题。这些新的渲染器还提供了一些改进,例如对CSV渲染器添加了一个真实数据渲染器,并支持在Excel渲染器中内置数据块和内置子报表。

集成服务性能

ETL处理常常用来以企业中的数据库源中的业务数据添加和更新数据仓库中的数据。过去,许多公司只需要将历史数据和不常使用的数据恢复到数据仓库中。现在,许多公司想要从数据仓库中获得接近于实时的数据。随着数据量的增加和要求数据仓库刷新频率增加,ETL处理时间和灵活性就变得更加重要了。

数据刷新要求SQL Server集成服务使用查找来比较源记录和数据仓库中的数据。集成服务包括改进很多的查找性能,它降低了包运行时间和优化了ETL操作。传统ETL处理的另一个问题是确定源数据库中的什么数据被修改了。管理员不得不非常谨慎地避免重复已有的数据。一些管理员选择删除所有的数据值重新加载数据仓库,而不是管理已被修改的数据。这使得ETL处理增加了很大的花费。SQL Server 2008具有变更数据捕获(Change Data Capture,CDC)功能来记录对变更表的更新,当数据刷新按计划进行时,这帮助跟踪数据变更和确保数据仓库的一致性。

分享:教你几个MySQL鲜为人知特殊技巧
以XML格式查看查询结果 通过使用传统xml 选项调用MySQL命令行客户程序,你可以以XML格式(而不是传统的列表形式)来查看。 MySQL查询结果 如果你打算将查询输出与其它程序集成在一起,这一技巧非常有用,这里是一个例子: 表A shell mysql --xml mysql SELECT

来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2009-05-16
相关Mssql数据库教程