修复: SQL Server 数据库引擎和 SQL Server 报表服务可能会消耗比预期的 Windows 客户端计算机上的多个电源


Microsoft 为一个可下载文件分发 Microsoft SQL Server 2008年的修补程序。修补程序是累积性的因为每个新版本包含的所有修补程序,包含上一个 SQL Server 2008 的所有安全修补程序的修补都程序版本。

症状


在 Microsoft SQL Server 2005年和 SQL Server 2008年中,数据库引擎和报告服务可能会消耗比预期更多的电量。此问题可能会在 Windows 客户端计算机上,如 Windows 笔记本电脑更明显。

原因


SQL Server 数据库引擎和 SQL Server 报表服务都使用一个称为 SQLOS 的共享的组件。SQLOS 公开内部计时器。当内部计时器设置为 1 毫秒精度,比预计更多的能源消耗可能会出现 Windows 客户端计算机上。

解决方案


累积更新信息

SQL Server 2008

重要:如果您运行的 SQL Server 2008年的发行版,您必须安装此修复程序。累积更新 6 中首次发布的修复问题。有关如何为 SQL Server 2008年中获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2008 年的971490累计更新包 6
注意:因为版本具有累计性,所以每个新修补程序版本包含上一个 SQL Server 2008 修补程序版本随附的所有修补程序和所有安全修复程序。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2008年生成 SQL Server 2008年发布后发布的956909
SQL Server 2008 Service Pack 1

重要:如果您运行的 SQL Server 2008 Service Pack 1,您必须安装此修复程序。

此问题的修补程序首次发布的累积更新 3 为 SQL Server 2008 Service Pack 1。有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章 ︰
971491累计更新 SQL Server 2008 Service Pack 1 包 3
注意:因为版本具有累计性,所以每个新修补程序版本包含上一个 SQL Server 2008 修补程序版本随附的所有修补程序和所有安全修复程序。Microsoft 建议您考虑应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2008年生成 SQL Server 2008 Service Pack 1 发布后发布的970365
为特定的 SQL Server 服务包创建 Microsoft SQL Server 2008年的修补程序。必须将一个 SQL Server 2008 Service Pack 1 的修补程序应用到安装的 SQL Server 2008 Service Pack 1。默认情况下,在下一次 SQL Server service pack 中包含任何 SQL Server service pack 中提供的修补程序。
SQL Server 2005 的服务包 3

重要:如果您运行的 SQL 服务器 2005 Service Pack 3,您必须安装此修复程序。
此问题的修补程序首次发布的累积更新 5 为 SQL 服务器 2005 Service Pack 3。有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章 ︰
972511累计更新 SQL 服务器 2005 Service Pack 3 包 5
注意:因为版本具有累积性,所以每个新修补程序版本包含的所有修补程序,并附带上一个 SQL Server 2005 的所有安全修补程序的修补都程序版本。Microsoft 建议您考虑应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
SQL Server 2005 版本 SQL 服务器 2005 Service Pack 3 发布后发布的960598
为特定的 SQL Server 服务包创建 Microsoft SQL Server 2005年的修补程序。必须将一个 SQL 服务器 2005 Service Pack 3 修补程序应用到安装的 SQL 服务器 2005 Service Pack 3。默认情况下,在下一次 SQL Server service pack 中包含任何 SQL Server service pack 中提供的修补程序。

状态


Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息


应用此修补程序后,SQLOS 将不会使用 1 毫秒为默认的内部计时器的精度。

注意:此修复程序只解决此问题,对 SQL Server 报表服务和 SQL Server 速成版。对于 SQL Server 报告服务的用户,此更改不起作用除可降低功率消耗。对于 SQL Server Express 版本的用户,此更改可以降低功率消耗。它也会影响一些诊断信息,如动态管理视图的输出。由 SQLOS 提供的诊断程序使用 1 毫秒计时器的更多信息,请访问下面的 MSDN 博客网站:在该博客文章,1 毫秒计时器被称为调整后的中断计时器使用 timeBeginPeriod API。
有关其他版本的 SQL Server,您认为如果 1 毫秒计时器引发不必要的功耗、 8038 SQL 服务器服务启动时启用跟踪标志。

这将禁用 1 毫秒计时器。但是,此跟踪标志也会影响一些诊断,如动态管理视图的粒度。



如果您希望应用此累积更新包,或升级到较高版本后甚至使用 1 毫秒计时器和的 SQL Server 版本中包含此更改,您可以启用跟踪标志 8049 在启动时强制使用 1 毫秒计时器。

参考资料


对于 SQL Server 的增量服务模式的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

935897的增量服务模式是可以从 SQL Server 团队提供报告的问题的修补程序



有关命名 SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

822499对于 Microsoft SQL Server 软件更新程序包的新命名方案


有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
用于描述 Microsoft 软件更新的标准术语的824684说明