Microsoft KB Archive/814665

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 10:21, 21 July 2020 by X010 (talk | contribs) (Text replacement - ">" to ">")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Article ID: 814665

Article Last Modified on 11/2/2007


  • 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 Enterprise Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit

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:

Keywords: kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver KB814665