FIX: SQL Server 判斷提示:"nret = = FALSE"插入或更新資料表資料在 SQL Server 2000 時,就會發生

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:814665
本文已封存。本文係以「現狀」提供且不會再更新。
Bug #: 356641 (SHILOH_BUGS)
徵狀
當您插入或更新 SQL Server 資料庫資料表中的資料列時,可能會發生一個 SQL Server 判斷提示錯誤。當就會發生這個錯誤目前的連線已終止,且 SQL Server 錯誤記錄檔包含下列的判斷提示錯誤訊息:

SQL Server 判斷提示: 檔案: <dataspli.c>,線條 = 1159年
無法判斷提示 = 'nret = = FALSE'。
錯誤: 3624,嚴重性: 20 狀態: 1

解決方案

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211如何取得最新的 SQL Server 2000 Service Pack

Hotfix 資訊

此修正程式的英文版具有檔案屬性 (或更新) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version         Size             File name   --------------------------------------------------------------------------   07-Feb-2003  16:14                    786,432 bytes  Distmdl.ldf   07-Feb-2003  16:14                  2,359,296 bytes  Distmdl.mdf   29-Jan-2003  12:25                        180 bytes  Drop_repl_hotfix.sql   31-Jan-2003  11:02  2000.80.763.0   1,557,052 bytes  Dtsui.dll           29-Jan-2003  12:25                      1,402 bytes  Inst_repl_hotfix.sql   07-Feb-2003  17:10  2000.80.765.0      90,692 bytes  Msgprox.dll     29-Jan-2003  11:48  7.0.9466.0        344,064 bytes  Msvcr70.dll       29-Jan-2003  11:48  2000.80.722.0      57,904 bytes  Osql.exe            29-Jan-2003  15:48                    746,470 bytes  Instdist.sql   07-Feb-2003  14:23                  1,065,895 bytes  Replmerg.sql   07-Feb-2003  17:10  2000.80.765.0     221,768 bytes  Replprov.dll        07-Feb-2003  17:10  2000.80.765.0     307,784 bytes  Replrec.dll         29-Jan-2003  15:48                  1,084,318 bytes  Replsys.sql   29-Jan-2003  11:48  2000.80.534.0     127,548 bytes  Sqdedev.dll         29-Jan-2003  11:48  2000.80.194.0     180,290 bytes  Sqlunirl.dll        07-Feb-2003  17:10  2000.80.765.0     176,696 bytes  Sqlmap70.dll        07-Feb-2003  17:10  2000.80.765.0      57,920 bytes  Sqlrepss.dll        07-Feb-2003  17:11  2000.80.765.0   7,528,529 bytes  Sqlservr.exe        07-Feb-2003  17:10  2000.80.765.0      45,644 bytes  Sqlvdi.dll          07-Feb-2003  17:10  2000.80.765.0      82,492 bytes  Ssnetlib.dll     				
注意: 由於檔案相依性最新版 Hotfix 或包含檔案的功能可能也包含其他檔案。


其他可行方案
如果要解決這個問題,使用方法套用至您的情況:

  • 如果問題發生與 ALTER VIEW 或 ALTER 程序 Transact-SQL 指令,卸除檢視或程序,並再重新建立與 CREATE VIEW 或 「 建立 」 程序 Transact-SQL 命令。
  • 如果以另一個 Transact-SQL 命令 (例如 [UPDATE 或 INSERT 命令) 發生問題重新組織資料表較小 填滿因數 以避免網頁上的叢集的索引分割。
狀況說明
Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。這個問題,首先已經在 Microsoft SQL Server 2000 Service Pack 4 中獲得修正。
其他相關資訊
插入或更新資料列會導致頁面分割的資料表中任何 Transact-SQL 命令可以發生此問題。使用 ALTER VIEW 或 ALTER 程序 Transact-SQL 命令時曾最經常發生這個問題。當您遇到與 ALTER VIEW 或 ALTER 程序命令問題時,簡短的堆疊傾印,SQL Server 錯誤記錄檔中會顯示下列:

Module(sqlservr+0046CD4C) (CStackDump::GetContextAndDump+0000002E)Module(sqlservr+0046E778) (stackTrace+0000021D) Module(sqlservr+00523F7F) (utassert_fail+000002E3)Module(sqlservr+003FA077) (DataSplitMgr::InsertDataRow+00000060)Module(sqlservr+0002630F) (datasplit+000000C5) Module(sqlservr+000272AA) (cinsert+00000165)Module(sqlservr+000175DC) (rowinsert+00000101)Module(sqlservr+0001B77F) (insert+00000013)Module(sqlservr+0012BAC0) (CSysScan::FInsertRow+0000009A)Module(sqlservr+001A9E3B) (CCommentScan::FInsertRow+00000160)Module(sqlservr+001A0B81) (FFillSQL+000001EB)Module(sqlservr+0019FD83) (CProchdr::CreateProc+0000177D)Module(sqlservr+001E6C0A) (CSQLSource::Execute+000003C0)Module(sqlservr+0013C498) (language_exec+000003E1)Module(sqlservr+00011099) (process_commands+000000EC) Module(UMS+00003379) (ProcessWorkRequests+0000024A) Module(UMS+00003071) (ThreadStartRoutine+000000BD) Module(MSVCRT+0000C9EB) (beginthread+000000CE) 

参考
如網頁的相關資訊分割,請造訪下列 Microsoft 網站]:
http://msdn2.microsoft.com/en-us/library/aa933139(SQL.80).aspx

內容

文章識別碼:814665 - 最後檢閱時間:02/27/2014 02:10:54 - 修訂: 4.4

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbsqlserv2000presp4fix kbfix kbbug KB814665 KbMtzh
意見反應