FIX: SQL Server Assertion: "nret == FALSE" Occurs When You Insert or Update Table Data in SQL Server 2000

Article translations Article translations
Article ID: 814665 - View products that this article applies to.
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 356641 ( SHILOH_BUGS )
Expand all | Collapse all

On This Page

SYMPTOMS

A SQL Server assertion error might occur when you insert or update a row in a SQL Server database table. When this error occurs, the current connection is terminated, and the SQL Server error log file contains the following assertion error message:

SQL Server Assertion: File: <dataspli.c>, line=1159
Failed Assertion = 'nret == FALSE'.
Error: 3624, Severity: 20, State: 1

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
290211 How to obtain the latest SQL Server 2000 service pack

Hotfix information

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   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     

				
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.


WORKAROUND

To work around this behavior, use the method that applies to your situation:

  • If the problem occurs with the ALTER VIEW or the ALTER PROCEDURE Transact-SQL command, drop the view or the procedure, and then re-create it with the CREATE VIEW or the CREATE PROCEDURE Transact-SQL command.
  • If the problem occurs with another Transact-SQL command (such as the UPDATE or the INSERT command), reorganize the clustered index on the table with a smaller FillFactor to avoid page splits.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

MORE INFORMATION

This problem can occur with any Transact-SQL command that inserts or updates a row in a table that causes a page split. This problem has been most frequently seen when using the ALTER VIEW or the ALTER PROCEDURE Transact-SQL commands. When you experience the problem with the ALTER VIEW or the ALTER PROCEDURE command, the short stack dump in the SQL Server error log file displays the following:

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) 

REFERENCES

For more information about a page split, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/aa933139(SQL.80).aspx

Properties

Article ID: 814665 - Last Review: February 27, 2014 - Revision: 4.4
APPLIES TO
  • 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
Keywords: 
kbnosurvey kbarchive kbhotfixserver kbqfe kbsqlserv2000presp4fix kbfix kbbug KB814665

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