Microsoft 将 Microsoft SQL Server 2008 修复程序作为一个可下载的文件分发。 由于修补程序是累积的,因此每个新版本都包含之前 SQL Server 2008 修补程序版本中包含的所有修补程序和安全修补程序。
症状
在 Microsoft SQL Server 2005 和 SQL Server 2008 中,数据库引擎和 Reporting Services 服务消耗的电量可能比预期高。 此问题在 Windows 客户端计算机(如 Windows 便携式计算机)上可能更为明显。
原因
SQL Server 数据库引擎和 SQL Server Reporting Services 都使用名为 SQLOS 的共享组件。 SQLOS 公开内部计时器。 当内部计时器设置为 1ms 粒度时,Windows 客户端计算机上的功耗可能会超过预期。
解决方法
累积更新信息
SQL Server 2008
重要说明:如果运行的是 SQL Server 2008 的发行版本,则必须安装此修补程序。此问题的修补程序首次在累积更新 6 中发布。
注意 由于版本是累积的,因此每个新的修补程序版本都包含之前 SQL Server 2008 修补程序版本中包含的所有修补程序和安全修补程序。 建议应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956909 在 SQL Server 2008 发布之后发布的 SQL Server 2008 内部版本
SQL Server 2008 Service Pack 1
重要说明 如果运行的是 SQL Server 2008 Service Pack 1,则必须安装此修补程序。
此问题的修补程序首次在 SQL Server 2008 Service Pack 1 的累积更新 3 中发布。 有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
971491 SQL Server 2008 Service Pack 1 累积更新包 3 注意 由于版本是累积的,因此每个新的修复版本都包含之前 SQL Server 2008 修复版本中包含的所有修补程序和所有安全修补程序。 Microsoft 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
970365 在 SQL Server 2008 Service Pack 1 发布之后发布的 SQL Server 2008 内部版本
Microsoft SQL Server 2008 修补程序是为特定的 SQL Server Service Pack 创建的。 必须将 SQL Server 2008 Service Pack 1 修补程序应用于 SQL Server 2008 Service Pack 1 的安装。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个 SQL Server Service Pack 中。
SQL Server 2005 Service Pack 3
重要说明:如果运行的是 SQL Server 2005 Service Pack 3,则必须安装此修补程序。
此问题的修补程序首次在 SQL Server 2005 Service Pack 3 的累积更新 5 中发布。 有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
972511 SQL Server 2005 Service Pack 3 的累积更新程序包 5 注意 由于版本是累积的,因此每个新的修补程序版本都包含之前 SQL Server 2005 修补程序版本中包含的所有修补程序和所有安全修补程序。 Microsoft 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
960598 在 SQL Server 2005 Service Pack 3 发布之后发布的 SQL Server 2005 内部版本
Microsoft SQL Server 2005 修补程序是为特定的 SQL Server Service Pack 创建的。 必须将 SQL Server 2005 Service Pack 3 修补程序应用于 SQL Server 2005 Service Pack 3 的安装。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个 SQL Server Service Pack 中。
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。
详细信息
应用此修补程序后,SQLOS 将不会将内部计时器的默认粒度设置为 1 毫秒。
注意:修补程序仅修复 SQL Server Reporting Services 和 SQL Server Express 版本的此问题。 对于 SQL Server Reporting Services 用户,此更改除了降低功耗外没有任何作用。 对于 SQL Server Express 版本用户,此更改可以降低功耗。 它还会影响某些诊断信息的输出,例如动态管理视图。 有关哪些诊断使用 SQLOS 提供的 1 毫秒计时器的详细信息,请访问以下 MSDN 博客网站:
https://blogs.msdn.com/psssql/archive/2009/05/29/how-it-works-sql-server-timings-and-timer-output-gettickcount-timegettime-queryperformancecounter-rdtsc.aspx 在此博客文章中,1 毫秒计时器称为使用 timeBeginPeriod API 的调整中断计时器。
对于其他版本的 SQL Server,如果你认为 1 毫秒计时器导致不必要的功耗,可以在 SQL Server 服务启动时启用跟踪标志 8038。
这将禁用 1 毫秒计时器。 但是,此跟踪标志也会影响某些诊断的粒度,例如动态管理视图。
如果即使在应用此累积更新包或升级到包含此更改的 SQL Server 的更高内部版本和版本后也想使用 1 毫秒计时器,则可以在启动时启用跟踪标志 8049 以强制使用 1 毫秒计时器。
参考资料
有关 SQL Server 增量服务模型的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897 可从 SQL Server 团队获取增量服务模型以提供可以解决所报告问题的修补程序
有关 SQL Server 更新的命名架构的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499 Microsoft SQL Server 软件更新包的新命名架构
有关软件更新术语的更多信息,请单击下面的文章编号以查看 Microsoft 知识库中的相应文章:
824684 用于描述Microsoft软件更新的标准术语说明