Microsoft SQL Server 2005 Service Pack 2 问题:清除任务不按既定的间隔运行

文章翻译 文章翻译
文章编号: 933508 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

如果应用了 Microsoft SQL Server 2005 Service Pack 2 (SP2) 的初始发行版本,则现有的包含清除任务的 SQL Server 2005 维护计划和 Integration Services 包将按缩短的间隔运行这些任务。只有存在下列所有情况时,才会出现该问题:
  • 您在 2007 年 3 月 5 日之前下载并安装了 SQL Server 2005 SP2 下载程序包。
  • 您使用 SQL Server 2005 维护计划或 Integration Services 包。
  • 这些计划或程序包中包含“清除历史记录”任务或“清除维护”任务。
“解决方案”部分介绍了此问题的解决方案。

使用 SQL Server 2000 旧版维护计划的用户以及在 2007 年 3 月 5 日之后下载 SP2 的用户将不受影响。在此日期,SQL Server 2005 SP2 经过更新,已包含可避免此问题的更新。

注意:此问题只影响主 SQL Server 2005 SP2 程序包。这些程序包使用以下命名约定:
SQLServer2005SP2-KB921896-ProccessorType-Language.exe
此问题不影响 SQL Server 2005 Express Edition 或 SQL Server 2005 Feature Pack 程序包。

下表列出了受影响的 SQL Server 2005 SP2 程序包版本的文件版本以及此程序包的更新版本。
收起该表格展开该表格
程序包类型文件版本
受影响的自解压缩可执行文件9.0.3042.0
更新的自解压缩可执行文件9.0.3042.1
重要说明:SQL Server 2005 SP2 程序包的更新版本中包含的修补程序将被包括在 SQL Server 2005 的所有后续修补程序包中。

背景

在 SQL Server 2005 发布之初,清除间隔以天、星期、月或年为单位。为了响应客户反馈,SQL Server 2005 SP2 对维护计划进行了重大改进。其中有一项改进允许用户以小时为单位指定清除间隔。

间隔的更改导致 SQL Server 2005 SP2 的初始发行版本按不同于原始设置的方式解释清除任务间隔。此行为可导致清除任务提前于既定时间删除信息。

如果您混合使用不同版本的工具和服务器,则间隔的更改还会导致出现对清除任务间隔的多种不同解释。虽然 SQL Server 2005 的原始发行版本(RTM 版本)、SQL Server 2005 Service Pack 1 (SP1) 和 SQL Server 2005 SP2 更新版本是兼容的,但如果将这些版本与 SQL Server 2005 SP2 的初始发行版本混合使用,将可能导致错误地解释新任务和已修改任务的任务间隔:
  • 如果使用 SQL Server 2005 的原始发行版本、SQL Server 2005 SP1 或 SQL Server 2005 SP2 工具的更新版本创建或修改计划或程序包,然后在 SQL Server 2005 SP2 的初始发行版本上运行它们,则大多数清除任务的间隔将比既定间隔要。此行为可能会提前于既定时间删除信息。
  • 如果使用 SQL Server 2005 SP2 工具的初始发行版本创建或修改计划或程序包,然后在 SQL Server 2005 的原始发行版本、SQL Server 2005 SP1 或 SQL Server 2005 SP2 更新版本上运行它们,则清除任务的间隔将比既定间隔要。此行为可能会延长信息的保留时间。
  • 如果使用 SQL Server 2005 SP2 工具的初始发行版本创建或修改计划或程序包,并选择以年为单位的间隔,然后在 SQL Server 2005 的原始发行版本或 SQL Server 2005 SP1 中打开该任务,则会出现以下错误:
    InvalidArgument=Value of '4' is not valid for 'SelectedIndex'.
    Parameter name:SelectedIndex (System.Windows.Forms)
    如果您忽略该消息并保存程序包,则 SQL Server 2005 的原始发行版本和 SQL Server 2005 SP1 会将清除间隔的单位错误地解释为天,从而会提前于既定时间删除信息。

解决方案

如果您尚未安装 SQL Server 2005 SP2

SQL Server 2005 的原始发行版本和 SQL Server 2005 SP1 都没有此问题,而当前的 SQL Server 2005 SP2 下载也已通过更新使此问题得到解决。如果您尚未安装 SP2 的初始发行版本,则可以下载当前版本并进行安装。

注意:如果尝试在以前的 SP2 安装上应用 SP2 的更新版本,将不会更新任何文件。请改用下面的常规分发发布 (GDR) 更新。

如果您在 2007 年 3 月 5 日之前下载了 SQL Server 2005 SP2

如果您在 2007 年 3 月 5 日之前下载了 SQL Server 2005 SP2,请对这些 SQL Server 2005 SP2 安装应用常规分发发布 (GDR) 更新。可从 Microsoft 下载中心获得该 GDR 更新:
SQL Server 2005 Service Pack 2 的关键更新
此 GDR 更新还可以通过 Microsoft Update 获得。如果您使用的是自动更新,则会自动应用此 GDR 更新。但是,如果您使用的是故障转移群集,则必须手动下载然后应用 GDR 更新。Microsoft Update 不会将 GDR 更新应用于故障转移群集节点。

应用了此 GDR 更新后,可能需要重新启动计算机。

该 GDR 更新可更正对使用 SQL Server 2005 的原始发行版本以及使用 SQL Server 2005 SP1 创建的清除任务的解释。如果使用 SQL Server 2005 SP2 的初始发行版本创建或编辑了维护计划或 Integration Services 包,则必须在应用了该 GDR 更新后验证并更新清除任务间隔。如果您没有这样做,则清除任务将延长数据的保留时间。

要验证并更新清除任务间隔,请按照下列步骤操作:
  1. 打开该维护计划或 Integration Services 包。
  2. 打开每个清除任务。
  3. 将清除间隔调整为正确的值。
  4. 保存该计划或程序包。
如果指定了服务器,SQL Server 2005 SP2 维护计划实用工具可以识别使用 SQL Server 2005 SP2 的原始发行版编辑的维护计划。您可以使用此信息来限制必须检查的计划数。要获得此实用工具,请访问下面的 Microsoft 网站:
http://www.microsoft.com/downloads/details.aspx?FamilyID=864ee539-85ce-429c-a166-4c84cdb24b54

由 GDR 更新和 SP2 更新版本更新的文件

收起该表格展开该表格
更新的文件SP2 初始发行版本SP2 更新版本GDR 更新后的版本位置
Microsoft.SqlServer.MaintenancePlanTasks.dll9.00.3042.00 9.00.3043.009.00.3050.00%ProgramFiles%\Microsoft SQL Server\90\DTS\Tasks and the global assembly cache (GAC)
Microsoft.SqlServer.MaintenancePlanTasksUI.dll9.00.3042.00 9.00.3043.009.00.3050.00GAC
在确定所安装的 SQL Server 2005 SP2 的版本时,应根据 %ProgramFiles%\Microsoft SQL Server\90\DTS\Tasks 中的文件进行测试。如果 SP2 的文件版本大于或等于 9.00.3017.00 并小于 9.00.3042.00,则表明 SP2 的版本是预发行版本,此时应安装 SP2 更新版本。如果该文件版本等于 9.00.3042.00,则表明其版本是 SP2 的初始发行版本,此时须应用该 GDR 更新。

该 GDR 更新会检测文件版本并根据需要更新文件。但是,如果您需要验证文件版本,可以使用 Microsoft Windows 资源管理器或 Filever 命令行实用工具:
  • 要检查单台计算机上的文件版本,请打开 Windows 资源管理器,右键单击该文件,选择“属性”,然后单击“版本”选项卡。
  • 为了帮助检查多台计算机上的文件版本,可以使用 Filever 命令行实用工具。 有关 Filever 命令行实用工具的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    913111 如何使用 Filever.exe 工具获取有关 Windows 中的文件的特定信息

通过所有 SQL Server 2005 修补程序和 GDR 更新更新的文件

SQL Server 2005 修补程序和 GDR 更新会更新一些文件,但可能并未对源代码进行任何更改。例如,如果更新了 Sqlservr.exe,则 SELECT @@version 会显示更新的产品版本。

下表列出了已更新的文件(无论代码是否更改)。
收起该表格展开该表格
更新的文件SP2 初始发行版本SP2 更新版本GDR 更新后的版本
Microsoft.ReportingServices.Diagnostics.dll9.00.3042.009.00.3043.009.00.3050.00
MsDtsSrvr.exe9.00.3042.009.00.3043.009.00.3050.00
Msmdsrv.exe9.00.3042.009.00.3043.009.00.3050.00
NSService.exe9.00.3042.009.00.3043.009.00.3050.00
ReportingServicesService.exe9.00.3042.009.00.3043.009.00.3050.00
SqlAccess.dll9.00.3042.009.00.3043.009.00.3050.00
Sqlservr.exe9.00.3042.009.00.3043.009.00.3050.00
SqlWb.exe9.00.3042.009.00.3043.009.00.3050.00

替代方法

如果不应用该 GDR 更新,则也可以通过使用版本匹配的服务器和工具来手动更新清除任务间隔。如果您以后应用此更新或 SQL Server 2005 的任何后续更新,则必须验证并更新清除任务间隔。鉴于此,我们建议应用该 GDR 更新。

产品支持

要获取 Microsoft 产品支持服务电话号码和支持费用信息的完整列表,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support
注意:特殊情况下,如果 Microsoft 技术支持人员确定某个特定的更新能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于所述的特定更新无法解决的其他支持问题和事项,将照常收取支持费用。

属性

文章编号: 933508 - 最后修改: 2011年5月16日 - 修订: 6.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
关键字:?
kbsqldeveloper atdownload kbexpertiseadvanced kbsql2005tool kbprb KB933508
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com