FIX: SQL Server 2000 自动数据库恢复操作不会成功如果索引包含 FLOAT 数据类型或 REAL 数据类型,并且此数据类型包含 NaN 值

文章翻译 文章翻译
文章编号: 900335 - 查看本文应用于的产品
Microsoft 分布 SQL Server 2000 修复程序作为一个可下载的文件。因为该修补程序是累积性的因此每个新版本包含的所有修补程序和所有安全修复程序以前 SQL Server 2000 中包含的修补都程序版本。
展开全部 | 关闭全部

本文内容

概要

本文介绍以下有关此修补程序版本:
  • 通过此修补程序包修复的问题
  • 应用此修补程序包的先决条件
  • 在应用此修补程序包后是否必须重新启动计算机
  • 此修补程序包是否替换任何其他修补程序包
  • 是否必须应用此修补程序包后进行任何注册表的更改
  • 修补程序包中包含的文件

症状

当您启动 Microsoft SQL Server 2000 时,SQL Server 2000 自动数据库的恢复机制将验证每个数据库的一致性。

如果索引包含 FLOAT 数据类型或 REAL 数据类型,并且此数据类型包含一个值,而不是数字 (NaN) SQL Server 2000 自动数据库恢复操作不会成功。在这种情况下数据库变得不可用的用户访问。

解决方案

所有公开发布的 SQL Server 2000 Post-Service 包 3a 修补程序在资源列表,请参阅下面 Microsoft 知识库中相应的文章:
810185SQL Server 2000 修复程序更新 SQL Server 2000 Service Pack 3 和 3a
注意此修补程序是可用 SQL Server 2000 Service Pack 3 和 SQL Server 2000 Service Pack 4。

注意插入和更新的实际类型的列或浮点类型列的索引并包含一个 NaN 值的可以防止此修补程序。如果您已经遇到了它,该修补程序将无法解决问题。在这种情况下此修补程序不起作用,因为它不是能够对 NaN 的所有值进行都排序。

修补程序信息

可以从 Microsoft 获得支持的修补程序。但是,此修补程序被用于解决本文所述的此问题。此修补程序仅应用于出现这一特定问题的系统。

是否可供下载此修补程序没有"提供修补程序下载"部分中,在这篇知识库文章的顶部。如果未出现本部分,将申请提交到 Microsoft 客户服务和支持以获取此修复程序。

注意如果出现其他问题,或者如果需要进行任何故障诊断,则您可能不得不创建单独的服务请求。将正常收取支持费用将应用于其他支持问题和不需要进行此特定的修补程序的问题。有关完整列表的 Microsoft 客户服务和支持的电话号码,或创建一个单独的服务请求,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support
注意"提供修补程序下载"窗体所显示的此修复程序是可用的语言。如果您看不到您的语言,则是一个修复程序不能用于该语言。

系统必备组件

  • Microsoft SQL Server 2000 Service Pack 3 (SP3) 版本,此修补程序的要求 SP3 和比较基准的修补程序 8.00.1007。
  • Microsoft SQL Server 2000 Service Pack 4 (SP4) 版本,此修补程序的要求 SP4。

有关如何获取 SQL Server 2000 Service Pack 3 和 SQL Server 2000 Service Pack 4 的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211如何获取最新的 SQL Server 2000 服务包

重新启动信息

您不必在应用此修补程序后,重新启动计算机。

注册表信息

您不必在应用此修补程序后进行注册表更改。

修补程序文件信息

此修补程序仅包含那些文件更正本文讨论了此问题所必需的。此修补程序可能不包含将产品完全更新到最新版本所必需的所有文件。

此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
SQL Server 2000 Service Pack 3 32 位版本
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   15-Apr-2005  01:07  6.1.9.0            15,872  Spupdsvc.exe
   31-May-2005  22:58                      3,842  Tempcatsign.cdf
   31-May-2005  22:41  2000.80.1027.0    664,128  Autoplt.dll
   31-May-2005  22:41  2000.80.1027.0     78,400  Console.exe
   31-May-2005  22:41  2000.80.1027.0    332,352  Ctasksui.dll
   31-May-2005  22:41  2000.80.1027.0    315,968  Custtask.dll
   31-May-2005  22:41  2000.80.1027.0     33,340  Dbmslpcn.dll
   15-Apr-2005  01:17                    786,432  Distmdl.ldf
   15-Apr-2005  01:17                  2,359,296  Distmdl.mdf
   15-Apr-2005  01:17                        180  Drop_repl_hotfix.sql
   31-May-2005  22:41  2000.80.1027.0  1,905,216  Dtspkg.dll
   31-May-2005  22:41  2000.80.1027.0    528,960  Dtspump.dll
   31-May-2005  22:41  2000.80.1027.0  1,557,052  Dtsui.dll
   31-May-2005  22:41  2000.80.1027.0    639,552  Dtswiz.dll
   31-May-2005  22:41  2000.80.1027.0    102,992  Impprov.dll
   15-Apr-2005  01:17                    747,927  Instdist.sql
   15-Apr-2005  01:17                      1,581  Inst_repl_hotfix.sql
   31-May-2005  22:41  2000.80.1027.0    352,828  Isqlw.exe
   31-May-2005  22:41  2000.80.1027.0     82,492  Itwiz.exe
   31-May-2005  22:41  2000.80.1027.0     90,692  Msgprox.dll
   15-Apr-2005  00:59  8.11.41022.0      226,304  Mssdi98.dll
   31-May-2005  22:41  2000.80.1027.0     62,024  Odsole70.dll
   31-May-2005  22:42  2000.80.1027.0     25,144  Opends60.dll
   31-May-2005  22:41  2000.80.1027.0     57,904  Osql.exe
   31-May-2005  22:41  2000.80.1027.0    279,104  Pfutil80.dll
   15-Apr-2005  01:13                    551,012  Procsyst.sql
   15-Apr-2005  01:17                     12,305  Qfe469315.sql
   15-Apr-2005  01:17                     19,195  Qfe469571.sql
   15-Apr-2005  01:17                      5,157  Qfe472197.sql
   31-May-2005  22:41  2000.80.1027.0    143,940  Qrdrsvc.exe
   31-May-2005  21:38                  1,136,160  Replmerg.sql
   31-May-2005  22:41  2000.80.1027.0    221,768  Replprov.dll
   31-May-2005  22:41  2000.80.1027.0    307,784  Replrec.dll
   31-May-2005  21:40  2000.80.1027.0    159,813  Replres.rll
   15-Apr-2005  01:17                  1,088,240  Replsys.sql
   15-Apr-2005  01:17                    986,746  Repltran.sql
   15-Apr-2005  01:17                         55  Repl_uninstall.sql
   31-May-2005  22:41  2000.80.1027.0    287,304  Rinitcom.dll
   31-May-2005  22:41  2000.80.1027.0     78,416  Sdiclnt.dll
   31-May-2005  22:41  2000.80.1027.0    823,872  Semexec.dll
   31-May-2005  22:41  2000.80.1027.0     66,112  Semmap.dll
   31-May-2005  22:41  2000.80.1027.0     57,916  Semnt.dll
   31-May-2005  22:41  2000.80.1027.0    492,096  Semobj.dll
   31-May-2005  22:05  2000.80.1027.0    172,032  Semobj.rll
   31-May-2005  22:41  2000.80.1027.0     53,832  Snapshot.exe
   15-Apr-2005  01:13                    125,540  Sp3_serv_uni.sql
   31-May-2005  22:40  2000.80.1027.0     28,672  Sqlagent.dll
   31-May-2005  22:41  2000.80.1027.0    311,872  Sqlagent.exe
   31-May-2005  22:40  2000.80.1027.0    168,001  Sqlakw32.dll
   31-May-2005  22:41  2000.80.1027.0     33,344  Sqlctr80.dll
   31-May-2005  22:41  2000.80.1027.0  4,215,360  Sqldmo.dll
   31-May-2005  22:41                     25,172  Sqldumper.exe
   31-May-2005  21:38  2000.80.1027.0     28,672  Sqlevn70.rll
   31-May-2005  22:41  2000.80.1027.0    156,224  Sqlmaint.exe
   31-May-2005  22:41  2000.80.1027.0    180,792  Sqlmap70.dll
   31-May-2005  22:41  2000.80.1027.0    188,992  Sqlmmc.dll
   31-May-2005  21:52  2000.80.1027.0    479,232  Sqlmmc.rll
   31-May-2005  22:41  2000.80.1027.0    401,984  Sqlqry.dll
   31-May-2005  22:41  2000.80.1027.0     57,920  Sqlrepss.dll
   31-May-2005  22:41  2000.80.1027.0  7,721,041  Sqlservr.exe
   31-May-2005  22:41  2000.80.1027.0    590,396  Sqlsort.dll
   31-May-2005  22:41  2000.80.1027.0     45,644  Sqlvdi.dll
   31-May-2005  22:41  2000.80.1027.0    106,588  Sqsrvres.dll
   31-May-2005  22:41  2000.80.1027.0     33,340  Ssmsgnet.dll
   31-May-2005  22:41  2000.80.1027.0     33,340  Ssmslpcn.dll
   31-May-2005  22:41  2000.80.1027.0     33,340  Ssmsqlgc.dll
   31-May-2005  22:41  2000.80.1027.0     82,492  Ssnetlib.dll
   31-May-2005  22:41  2000.80.1027.0     25,148  Ssnmpn70.dll
   31-May-2005  22:41  2000.80.1027.0    123,456  Stardds.dll
   31-May-2005  22:41  2000.80.1027.0    158,268  Svrnetcn.dll
   31-May-2005  22:41  2000.80.1027.0     76,416  Svrnetcn.exe
   31-May-2005  22:41  2000.80.1027.0     49,228  Ums.dll
   31-May-2005  22:41  2000.80.1027.0     74,304  Xplog70.dll
   31-May-2005  22:41  2000.80.1027.0     98,872  Xpweb70.dll
   31-May-2005  22:41  2000.80.1027.0     57,904  Osql.exe
   15-Apr-2005  01:07  1.0.97.0          941,056  Sqlstpcustomdll.dll
   15-Apr-2005  01:07                     23,040  Sqlstpcustomdll.rll
   15-Apr-2005  01:07  6.1.9.0           344,576  Updspapi.dll
SQL Server 2000 Service Pack 3 64 位版本
   Date         Time   Version         Size        File name      Platform
   -----------------------------------------------------------------------
   31-May-2005  22:49  2000.80.1027.0      56,832  Dbmslpcn.dll   IA-64
   31-May-2005  21:52  2000.80.1027.0     528,960  Dtspump.dll    x86
   31-May-2005  21:55  2000.80.1027.0     244,736  Impprov.dll    IA-64
   31-May-2005  22:54  2000.80.1027.0     185,856  Msgprox.dll    IA-64
   31-May-2005  22:52  2000.80.1027.0     150,528  Odsole70.dll   IA-64
   31-May-2005  22:49  2000.80.1027.0      27,136  Opends60.dll   IA-64
   31-May-2005  22:52                      19,880  Opends60.lib
   31-May-2005  22:51  2000.80.1027.0     148,992  Osql.exe       IA-64
   31-May-2005  21:57  2000.80.1027.0     353,280  Qrdrsvc.exe    IA-64
   31-May-2005  23:01  2000.80.1027.0     535,552  Replprov.dll   IA-64
   31-May-2005  23:03  2000.80.1027.0     769,024  Replrec.dll    IA-64
   31-May-2005  23:09  2000.80.1027.0     650,240  Rinitcom.dll   IA-64
   31-May-2005  23:04  2000.80.1027.0     160,768  Semmap.dll     IA-64
   31-May-2005  23:04  2000.80.1027.0     132,608  Semnt.dll      IA-64
   31-May-2005  22:57  2000.80.1027.0      88,576  Snapshot.exe   IA-64
   31-May-2005  23:08  2000.80.1027.0      10,240  Sqlagent.dll   IA-64
   31-May-2005  23:10  2000.80.1027.0   1,055,232  Sqlagent.exe   IA-64
   31-May-2005  23:05  2000.80.1027.0      90,112  Sqlboot.dll    IA-64
   01-Jun-2005  01:45  2000.80.1027.0      32,256  Sqlctr80.dll   IA-64
   31-May-2005  22:50  2000.80.1027.0     812,032  Sqldata.dll    IA-64
   31-May-2005  23:27  2000.80.1027.0  13,845,504  Sqldmo.dll     IA-64
   31-May-2005  22:55                      39,936  Sqldumper.exe  IA-64
   31-May-2005  23:16  2000.80.1027.0     493,568  Sqlmaint.exe   IA-64
   31-May-2005  22:50  2000.80.1027.0      23,040  Sqlmap70.dll   IA-64
   31-May-2005  23:03  2000.80.1027.0     152,064  Sqlrepss.dll   IA-64
   01-Jun-2005  01:45  2000.80.1027.0  30,138,880  Sqlservr.exe   IA-64
   31-May-2005  22:50  2000.80.1027.0     616,960  Sqlsort.dll    IA-64
   31-May-2005  22:55  2000.80.1027.0     120,320  Sqlvdi.dll     IA-64
   31-May-2005  22:55  2000.80.1027.0     227,328  Sqsrvres.dll   IA-64
   31-May-2005  22:49  2000.80.1027.0      53,760  Ssmslpcn.dll   IA-64
   31-May-2005  23:03  2000.80.1027.0      59,904  Ssmsqlgc.dll   IA-64
   31-May-2005  22:50  2000.80.1027.0     256,000  Ssnetlib.dll   IA-64
   31-May-2005  22:51  2000.80.1027.0      20,992  Ssnmpn70.dll   IA-64
   31-May-2005  23:00  2000.80.1027.0     430,080  Svrnetcn.dll   IA-64
   31-May-2005  23:00  2000.80.1027.0     185,856  Svrnetcn.exe   IA-64
   31-May-2005  22:51  2000.80.1027.0     183,296  Xplog70.dll    IA-64
   31-May-2005  22:57  2000.80.1027.0     187,392  Xpweb70.dll    IA-64
   31-May-2005  22:55  2000.80.1027.0     146,432  Replres.rll
   31-May-2005  23:08  2000.80.1027.0      41,984  Sqlagent.rll
   31-May-2005  23:08  2000.80.1027.0     574,976  Sqldmo.rll
   31-May-2005  22:51  2000.80.1027.0      19,968  Sqlevn70.rll
   31-May-2005  23:05  2000.80.1027.0       4,096  Sqlrepss.rll
   31-May-2005  23:00  2000.80.1027.0      15,872  Svrnetcn.rll

注意由于存在文件依赖性最新的修补程序或功能,它包含这些文件可能还包含其他文件。

替代方法

要变通解决此问题,使用下列方法之一。

方法 1

  1. 如果您使用远程过程调用 (rpc),请在客户端应用程序中执行验证检查的 NaN。请确保 NaN 值不会传递到 SQL Server 2000。
  2. 检查现有数据行包含 FLOAT 数据类型或 REAL 数据类型。查找 NaN 值。若要执行此操作运行以下查询:
    SELECT <unique column list>,
     CONVERT(varchar(30),<float column or real column1>)
     FROM <table name>
     WHERE ISNUMERIC(<float column or real column>) = 0
    此查询中:
    • 替换 <unique column list> 用来唯一标识特定的表格中一行以逗号分隔的一个或多个列名称的列表。
    • 替换 <table name> 具有您要搜索的表的名称。
    • 替换 <float column or real column> 与列的名称。

方法 2

列 FLOAT 或 REAL 列,请不要创建基于的索引。

方法 3

如果在您的环境中,您可以使用精确的数值类型,更改数据类型或浮点数列的实际数值类型或 decimal 类型。

状态

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

更多信息

您还可以通过使用大容量复制操作插入 NaN 值。然而,在这种情况下某些语言事件 (如 INSERT 语句报告一个无效的浮点数字,并不能插入该行。

下面的列表包含 NaN 值的一些示例:
  • 正无穷大
  • 负无穷大
  • 除以零 (0/0) 的零
  • 安静 nan (QNaN)
  • 信号传输 nan (SNaN)
nan 有关的详细信息,请参阅 英特尔架构软件开发人员手册。若要获取本手册,请访问下面的 Intel 网站:
http://www.intel.com/design/pentiumii/manuals/243191.htm
Microsoft 提供了第三方联系人信息可以帮助您找到技术支持。此联系信息如有更改,恕不另行通知。Microsoft 不能保证此第三方联系人信息的准确性。

有关命名 Microsoft SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499Microsoft SQL Server 软件更新程序包的新命名架构
Microsoft 使用时它释放之后更正软件的术语有关的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章编号: 900335 - 最后修改: 2007年11月2日 - 修订: 2.5
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 Workgroup Edition
关键字:?
kbmt kbautohotfix kbsqlserv2000presp4fix kbfix kbbug kbpubtypekc kbhotfixserver kbqfe KB900335 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 900335
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