FIX: SQL Server 2000 自動資料庫復原操作可能無法成功若索引包含浮點數資料型別或 REAL 資料型別,且此資料型別包含 NaN 值

文章翻譯 文章翻譯
文章編號: 900335 - 檢視此文章適用的產品。
Microsoft 為一個可下載檔案散佈 SQL Server 2000 的修正程式。由於此修正程式是累積,每個新版本包含所有 Hotfix,隨附先前的 SQL Server 2000 所有安全性修正程式都修正發行。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您下列關於此 Hotfix 版本:
  • Hotfix 套件所修正的問題
  • 套用 Hotfix 套件的先決條件
  • 是否您必須重新啟動電腦套用 Hotfix 套件之後,
  • 是否 Hotfix 套件就會取代任何其他 Hotfix 套件
  • 套用 Hotfix 套件之後,您必須是否做任何登錄變更
  • 包含在 Hotfix 套件中的檔案

徵狀

您在啟動 Microsoft SQL Server 2000 時 SQL Server 2000 自動資料庫復原機制會驗證每個資料庫的一致性。

如果索引包含浮點數資料型別或 REAL 資料型別,且此資料型別包含不是數字 (NaN) 值,SQL Server 2000 自動資料庫復原作業可能會不會成功。在這種情況下資料庫變得無法使用的使用者存取。

解決方案

如需清單所有公開發行的 SQL Server 2000 Post-Service 套件 3a Hotfix 請參閱下列的 「 Microsoft 知識庫 」 中的文件:
810185SQL Server 2000 Service Pack 3 和 3a SQL Server 2000 Hotfix 更新
附註使用 SQL Server 2000 Service Pack 3,以及 SQL Server 2000 服務套件 4 這個 Hotfix。

附註Hotfix 可避免插入和更新或浮點數型別資料行索引,而且其中包含 NaN 值的實際型別資料行。如果您有已經有經驗,Hotfix 將無法解決問題。在這種情況下 Hotfix 並不可行,因為它是不可能排序 NaN 的所有值。

Hotfix 資訊

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果沒有出現此區段,將要求提交到 Microsoft 客戶服務及支援],以取得該 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

必要條件

  • 此 Hotfix 的 Microsoft SQL Server 2000 Service Pack 3 (SP3) 版需要 SP3] 和 [比較基準 Hotfix 8.00.1007。
  • 此 Hotfix 的 Microsoft SQL Server 2000 服務套件 4 (SP4) 版需要 SP4。

如需有關如何取得 SQL Server 2000 Service Pack 3 和 SQL Server 2000 服務套件 4 的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211如何取得最新的 SQL Server 2000 Service Pack

重新啟動資訊

您沒有套用此 Hotfix 之後重新啟動電腦。

登錄資訊

您沒有進行任何登錄變更,套用此 Hotfix 之後。

Hotfix 檔案資訊

此 Hotfix 包含只需修正本文將告訴您這個問題的那些檔案。此 Hotfix 並未包含必須將產品完整更新至最新版組建的所有檔案。

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (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

附註由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。

其他可行方案

如果要解決這個問題而定,使用 [下列的其中一個方法]。

方法 1

  1. 當您使用遠端程序呼叫 (RPC) 時,請在用戶端應用程式中執行的 NaN 驗證檢查。請確定 NaN 值不傳遞至 SQL Server 2000。
  2. 檢查現有的資料列包含浮點數資料型別或 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

在浮點數的資料行或 REAL 資料行上,再建立基礎的索引。

方法 3

如果您可以在您的環境中使用精確的數字型別,變更 [數字的型別或 decimal 型別的 [資料型別或浮點數資料行的實際]。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

您也可以使用大量複製作業來插入 NaN 值。不過,在這種情況下特定語言的事件,例如 INSERT 陳述式報告無效的浮點數字而且您不能插入資料列。

下列清單包含 NaN 值的一些範例:
  • 正無限大
  • 負無限大
  • 零除以零 (0/0)
  • 安靜 NaN (QNaN)
  • 信號方式 NaN (SNaN)
NaN 的更多有關,請參閱 Intel 架構軟體開發人員手冊。若要取得這個手冊,請造訪下列 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 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
關鍵字:?
kbmt kbautohotfix kbsqlserv2000presp4fix kbfix kbbug kbpubtypekc kbhotfixserver kbqfe KB900335 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本: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