FIX:,检查数据库完整性任务和在维护计划执行的 T-SQL 语句任务可能会丢失在某些情况下,在 SQL Server 2005 版本 3150 3158 通过中的数据库上下文

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 934459
症状
在 Microsoft SQL Server 2005 Service Pack 2 (SP2),以下任务的维护计划中可能会丢失在某些情况下的数据库上下文:
  • 检查数据库完整性
  • 执行 T-SQL 语句
例如对于如果检查数据库完整性任务配置为检查上多个数据库的完整性,任务反复检查默认的数据库。

执行 T-SQL 语句任务满足以下条件时,会发生此问题:
  • 执行 T-SQL 语句任务包含多个批处理。
  • 批分隔 GO 语句。
  • 无批处理使用 USE 语句指定数据库。
  • 每个批处理中的语句不包含数据库名称。
在这种情况下,将会在第二个批处理和成功的批次那些语句执行对默认数据库。

注意您可以确认通过使用 SQL Server 事件探查器已发生此问题。当您跟踪执行维护计划时,请参阅 数据库 列 SQL Server 事件探查器中。
解决方案
此问题发生在 SQL Server 2005 版本中通过 3053 3042,并在 SQL Server 2005 年生成 3150 3158 通过。如果您正在运行 SQL Server 2005 SP2 的生成 3150 和 3158 之间,下载并安装下列文件从 Microsoft 下载中心。
以下文件是可从 Microsoft 下载中心下载:

DownloadDownload the SQL2005-KB934459-ENU package now.

有关如何下载 Microsoft 的支持文件的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591如何获取 Microsoft 的支持文件从联机服务
Microsoft 扫描此文件的病毒。Microsoft 使用该文件已过帐的日期上获得的最新病毒检测软件。该文件存储在安全增强型服务器上,这有助于防止未经授权的情况下对其进行更改,对该文件。

此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的 日期和时间 项中的 时区 选项卡。

32 位版本上的 SQL Server 2005 年

文件的名称文件版本文件大小日期时间平台
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3159.0296,3042007 年三月 24 日07: 44x86
Msmdlocal.dll9.0.3159.015,930,2242007 年三月 24 日07: 44x86
Rdistcom.dll2005.90.3159.0644,4642007 年三月 24 日07: 44x86
Sqlaccess.dll2005.90.3159.0350,5762007 年三月 24 日07: 44x86
Sqlservr.exe2005.90.3159.029,192,0482007 年三月 24 日07: 44x86

SQL Server 2005 年的 x 基于 x64 的版本

文件的名称文件版本文件大小日期时间平台
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3159.0296,3042007 年三月 24 日07: 44x86
Msmdlocal.dll9.0.3159.015,930,2242007 年三月 24 日07: 44x86
Rdistcom.dll2005.90.3159.0828,2722007 年三月 24 日03: 53x64
Sqlaccess.dll2005.90.3159.0357,7442007 年三月 24 日03: 53x86
Sqlservr.exe2005.90.3159.038,516,5922007 年三月 24 日03: 53x64

基于 Itanium 的版本上的 SQL Server 2005 年

文件的名称文件版本文件大小日期时间平台
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3159.0296,3042007 年三月 24 日07: 44x86
Msmdlocal.dll9.0.3159.049,815,9202007 年三月 24 日03: 27ia64
Rdistcom.dll2005.90.3159.01,885,0402007 年三月 24 日03: 27ia64
Sqlaccess.dll2005.90.3159.0352,1122007 年三月 24 日03: 27x86
Sqlservr.exe2005.90.3159.072,542,5762007 年三月 24 日03: 27ia64
如果您正在运行任何生成 SQL Server 2005 SP2 的 3042 和 3053 之间,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
934458FIX:,检查数据库完整性任务和在维护计划执行的 T-SQL 语句任务可能会丢失在某些情况下,在 SQL Server 2005 版本 3042 3053 通过中的数据库上下文
要获取此修复程序以一种自动化方式,请访问下面的 Microsoft 更新 Web 站点:有关如何确定 SQL Server 版本和版本的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
321185如何确定您 SQL Server 版本和版本
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
在 SQL Server 2005 SP2 的原始发行版和早期版本与维护计划的任务相关的命令是积累,然后执行一次。当错误发生时,不能再执行任务并不执行剩余的维护任务。SQL Server 2005 SP2,在单个批处理都是一次提交的一个。SQL Server 2005 SP2 的该原始发行版中数据库连接已重置的批次之间。更高版本的批次仍存在 GO 语句执行前的上下文中而不是默认数据库的上下文中。依赖于该上下文存在 GO 语句执行前的影响的任务、 具体检查数据库完整性任务和执行 T-SQL 语句任务。

此修补程序也包含在累积更新包 (生成 3161) 为 SQL Server 2005 Service Pack 2 中。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935356对于 SQL Server 2005 Service Pack 2 的累积更新包 (生成 3161) 不可用

警告:本文已自动翻译

属性

文章 ID:934459 - 上次审阅时间:04/14/2008 18:20:41 - 修订版本: 2.0

Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, 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 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems

  • kbmt kbsql2005ssis kbexpertiseadvanced atdownload kbhotfixserver kbqfe kbpubtypekc KB934459 KbMtzh
反馈