技术开发 频道

SQL Server 2008 性能与性能优化

扩展SQL Server 2008

服务器合并、大型数据存储、以及复杂的查询都要求物理资源能够支持很多工作负载运行在一个服务器上。SQL Server 2008具有充分利用最新硬件技术的能力。多个数据库引擎实例和多个分析服务实例可以安装在一个单独的服务器上,从而实现硬件合并。在一个单独的服务器上可以安装最多50个实例,而不必牺牲性能或响应时间。

硬件支持

SQL Server 2008充分利用现代化的硬件,包括64位、多核和多处理器系统。为了支持不断增长的报表、分析和数据访问负载,

SQL Server可以支持最多64GB的内存并支持32位硬件上的动态AWE映射内存的分配,并且可以在64位的硬件上最多支持8TB的内存。

当多个处理器添加到一个服务器上时,如果处理器必须访问对于处理器来说不在本地的内存,那么内存访问可能会慢下来。建立非一致性内存访问(non- uniform memory access,NUMA)架构的硬件,通过使处理器访问本地内存解决了这些内存访问限制。SQL Server可识别NUMA硬件,进而为公司提供更好的可扩展性和更多的性能选项。你可以利用基于NUMA的计算机而不必修改应用程序配置。SQL Server 2008支持硬件NUMA和软件NUMA。

热插拔硬件

尽管通过增加内存或CPU可以轻松扩展一个SQL Server 实例,但规划停机时间来添加硬件以扩展关键任务应用程序,以及7x24小时不间断运行可能是比较困难的。有了SQL Server 2008,你就可以添加CPU和内存到兼容的机器上来扩展你的服务器,且不必停止数据库服务。

实现热插拔内存必须满足如下要求:

SQL Server 2008企业版
Windows Server® 2003企业版或 Windows Server 2003 数据中心版
64位SQL Server 或支持AWE的32位SQL Server
从你的硬件供应商那里获得的支持内存添加的硬件,或虚拟软件
使用–h 参数启动的SQL Server

实现热插拔CPU 必须满足如下要求:

SQL Server 2008企业版
用于Itanium 系统的Windows Server® 2008企业版或用于x64位系统的Windows Server 2008 数据中心版
64位SQL Server
支持CPU添加的硬件,或者是虚拟软件

高级并发特性

扩展数据库服务器的目的是支持用户或应用程序数目的增长。随着用户数目的增长,当多个事务试图访问同一个数据时,响应时间可能受到并发问题的影响。 SQL Server 2008提供了许多隔离级别来支持均衡并发和读取完整性的众多解决方案。对于低级别版本,SQL Server 2008提供只读隔离级别,它使用READ_COMMITTED_SNAPSHOT 数据库选项,此外还有一个使用ALLOW_SNAPSHOT_ISOLATION数据库选项的快照隔离级别。此外,对于表的Lock Escalation设置使得你可以改进性能和维护并发,特别是在查询分区表的时候。

扩展SQL Server 2008

除了扩展单个服务器以支持不断发展的数据环境,SQL Server 2008还提供了工具和功能来扩展数据库以增加巨型数据库的性能并缩短数据和用户的距离。

可扩展的共享数据库

数据仓库是由多个只读数据的消费者(例如分析和报表解决方案)使用,并且可以超载数据请求,从而降低了响应时间。为了克服这个问题,SQL Server 2008支持可扩展的共享数据库,它提供了一个扩展多个数据库服务器实例中的只读报表数据库的方法,以分配查询引擎工作负载和隔离资源密集的查询。这个可扩展的共享数据库特性使得管理员可以通过在多个报表服务器上布置一个只读数据库的拷贝来创建一个只用于只读的数据源。应用程序访问一个一致的数据拷贝,独立于它们所连接的报表服务器。

数据选择路由

当一个公司决定要扩展其数据库结构到一个联合的数据库中时,必须决定怎样在服务器间从逻辑上划分数据和怎样将请求路由到适当的服务器上。有了SQL Server 2008,你可以使用Service Broker 将数据选择路由作为一个服务来执行,路由请求到适当的位置。

点对点复制

点对点复制可以提供一个有效的向外扩展的解决方案,其中一个数据库的相同拷贝会分发到企业中的各个位置,以便对数据本地拷贝的修改会自动发布到其它的副本所在地。SQL Server 2008使用新的点对点拓扑向导和可视化的设计器帮助你降低执行和管理一个点对点复制解决方案所需的时间。SQL Server之前的版本需要管理员在附加一个新节点到已有节点上时,停止所有节点上发布的表的活动,而SQL Server 2008使得新的节点即使在复制活动过程中也可以进行添加和连接等操作。

查询通知

大多数企业应用程序是基于三层架构的,其中数据从数据库服务器上通过一个或多个应用程序服务器(通常是一个Web群)获得,它反过来被客户端计算机访问。为了提高性能,许多应用程序服务器通过缓存数据来为用户提供更快的响应速度。缓存数据的一个局限是需要刷新数据,因为如果数据没有经常刷新,那么用户可能会获得不准确的陈旧数据。过多的刷新数据会导致系统开销增大,这可能最终会降低应用程序服务器的性能。SQL Server 2008使用查询通知在缓存数据过期时自动地通知中间层应用程序,从而帮助应用程序更有效地使用应用程序缓存。这个应用程序服务器可以订阅查询通知,以便在数据库中执行了影响缓存数据的更新时,可以收到通知。应用程序服务器然后可以动态地使用这个更新的数据来刷新缓存。

扩展分析服务

尽管SQL Server 2005分析服务器多维数据集通常是只读的数据库,但是每一个实例只维护自己的数据目录。尽管你可以通过在多个服务器上同步多维数据集来创建分析服务数据库的多个拷贝,但是多维数据集同步过程导致了许多业务环境中不能接受的延迟情况。SQL Server 2008分析服务通过支持部署扩展分析服务,从而克服了这些问题,在部署过程中,分析服务数据库的一个单独的、统一的、只读的拷贝将在多个实例间共享,并通过一个单独的虚拟IP地址来访问

总结

SQL Server 2008针对所有数据需求提供了一个丰富而强大的环境。通过其高级关系型数据库引擎、分析服务、报表服务和集成服务提供了最好的性能。新的结构良好的工具和技术一起帮助公司部署任意规模的数据环境,并维护非常好的的性能。SQL Server 2008支持最新的技术趋势,为公司提供了灵活扩展单独的服务器和合并工作负载到这些服务器上的能力。它还给公司提供了扩展大型数据库所必需的技术。

更多信息,请访问: 
http://www.microsoft.com/sql

这篇文档对您有帮助吗?请将您的反馈提交给我们。告诉我们您的评价1(很不好)-5(很好)。您如何评价以及为何如此评价,例如:
您是否因为其中的优秀示例或截图、清晰的描述或其他原因打了高分?
您是否因为其中不恰当的示例或模糊不清的截图、不清晰的描述打了低分?
这些反馈将帮助我们提高我们今后发布的白皮书的质量。发送反馈

0
相关文章