You are currently offline, waiting for your internet to reconnect

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

This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 356641 ( SHILOH_BUGS )
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


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.

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.
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.
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) 

For more information about a page split, visit the following Microsoft Web site:

Article ID: 814665 - Last Review: 02/27/2014 21:17:10 - Revision: 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 kbhotfixserver kbqfe kbsqlserv2000presp4fix kbfix kbbug KB814665