You are currently offline, waiting for your internet to reconnect

FIX: Additional diagnostics have been added to SQL Server 2000 to detect unreported read operation failures

This article has been archived. It is offered "as is" and will no longer be updated.
Bug #: 471459 (SHILOH_BUGS)
Microsoft distributes Microsoft SQL Server 2000 hotfixes as one downloadable file. Because the hotfixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2000 hotfix release.
SYMPTOMS
Operating system, driver, or hardware problems may cause SQL Server to experience data integrity-related problems. You may receive data integrity-related error messages in the SQL Server error log. These error messages may include, but are not limited to, error messages 823, 605, 644, 625, or assertion failures that are similar to the following:

SQL Server Assertion: File: <T:\shiloh\sql\ntdbms\storeng\drs\include\record.inl>, line=1447 Failed Assertion = 'm_SizeRec > 0 && m_SizeRec <= MAXDATAROW'.
SQL Server Assertion: File: <recbase.cpp>, line=1378 Failed Assertion = 'm_offBeginVar < m_SizeRec'.
SQL Server Assertion: File: <recbase.cpp>, line=1374 Failed Assertion = 'm_nVars > 0'.
RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For more 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 hotfix has the file attributes (or later file attributes) 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   ------------------------------------------------------------   29-Apr-2004  22:46  2000.80.937.0    664,128  Autoplt.dll   29-Apr-2004  22:58  2000.80.937.0     78,400  Console.exe   29-Apr-2004  23:17  2000.80.937.0    315,968  Custtask.dll   29-Apr-2004  22:36  2000.80.937.0     33,340  Dbmslpcn.dll   29-Apr-2004  23:13  2000.80.937.0  1,905,216  Dtspkg.dll   29-Apr-2004  23:09  2000.80.937.0    528,960  Dtspump.dll   29-Apr-2004  23:25  2000.80.937.0  1,557,052  Dtsui.dll   29-Apr-2004  23:25  2000.80.937.0    639,552  Dtswiz.dll   29-Apr-2004  23:23  2000.80.937.0     82,492  Itwiz.exe   29-Apr-2004  22:40  2000.80.937.0     90,692  Msgprox.dll   29-Apr-2004  22:42  2000.80.937.0     62,024  Odsole70.dll   29-Apr-2004  23:25  2000.80.937.0     25,144  Opends60.dll   29-Apr-2004  23:24                    17,576  Opends60.lib   29-Apr-2004  22:43  2000.80.937.0     57,904  Osql.exe   29-Apr-2004  23:13  2000.80.937.0    279,104  Pfutil80.dll   29-Apr-2004  22:52  2000.80.937.0    221,768  Replprov.dll   29-Apr-2004  22:54  2000.80.937.0    307,784  Replrec.dll   29-Apr-2004  22:57  2000.80.937.0    287,304  Rinitcom.dll   29-Apr-2004  22:33  2000.80.937.0     66,112  Semmap.dll   29-Apr-2004  22:38  2000.80.937.0     57,916  Semnt.dll   29-Apr-2004  23:22  2000.80.937.0    492,096  Semobj.dll   29-Apr-2004  22:51  2000.80.937.0     53,832  Snapshot.exe   29-Apr-2004  22:38  2000.80.937.0     28,672  Sqlagent.dll   29-Apr-2004  22:42  2000.80.937.0    311,872  Sqlagent.exe   29-Apr-2004  22:48  2000.80.937.0    168,001  Sqlakw32.dll   29-Apr-2004  22:48                     4,352  Sqlakw32.lib   29-Apr-2004  23:11  2000.80.937.0     33,344  Sqlctr80.dll   29-Apr-2004  22:34  2000.80.937.0    815,676  Sqldata.dll   29-Apr-2004  23:23  2000.80.937.0  4,215,360  Sqldmo.dll   29-Apr-2004  22:51                    25,172  Sqldumper.exe   29-Apr-2004  22:57  2000.80.937.0    180,792  Sqlmap70.dll   29-Apr-2004  23:21  2000.80.937.0    188,992  Sqlmmc.dll   29-Apr-2004  23:16  2000.80.937.0    401,984  Sqlqry.dll   29-Apr-2004  22:55  2000.80.937.0     57,920  Sqlrepss.dll   29-Apr-2004  23:11  2000.80.937.0  7,512,640  Sqlservr.exe   29-Apr-2004  22:34  2000.80.937.0    590,396  Sqlsort.dll   29-Apr-2004  22:54  2000.80.937.0     45,644  Sqlvdi.dll   29-Apr-2004  22:54  2000.80.937.0    106,588  Sqsrvres.dll   29-Apr-2004  22:36  2000.80.937.0     33,340  Ssmslpcn.dll   29-Apr-2004  22:41  2000.80.937.0     82,492  Ssnetlib.dll   29-Apr-2004  23:04  2000.80.937.0     25,148  Ssnmpn70.dll   29-Apr-2004  22:57  2000.80.937.0    123,456  Stardds.dll    29-Apr-2004  22:58  2000.80.937.0    158,240  Svrnetcn.dll   29-Apr-2004  22:58  2000.80.937.0     76,416  Svrnetcn.exe   29-Apr-2004  23:02  2000.80.937.0     53,808  Ums.dll   29-Apr-2004  22:58  2000.80.937.0     98,872  Xpweb70.dll    29-Apr-2004  23:06  2000.80.937.0    208,896  Dtspkg.rll   29-Apr-2004  23:21  2000.80.937.0    331,776  Dtswiz.rll   29-Apr-2004  22:45  2000.80.937.0    159,813  Replres.rll   29-Apr-2004  23:18  2000.80.937.0    172,032  Semobj.rll   29-Apr-2004  22:38  2000.80.937.0     53,248  Sqlagent.rll   29-Apr-2004  23:06  2000.80.937.0    585,728  Sqldmo.rll   29-Apr-2004  22:34  2000.80.937.0     28,672  Sqlevn70.rll   29-Apr-2004  23:18  2000.80.937.0    479,232  Sqlmmc.rll   29-Apr-2004  22:53  2000.80.937.0     12,288  Sqlrepss.rll   29-Apr-2004  22:56  2000.80.937.0     24,576  Svrnetcn.rll
Note Because of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.
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 hotfix adds diagnostics to SQL Server. These diagnostics try to detect when a read operation from a disk does not experience any errors but the read operation returns data that is not valid. The validation that the diagnostics perform on the data that is returned to SQL Server is similar to audit checks by the CHECKDB command. If you enable these diagnostics, pages are audited every time that they are read from disk.

To enable these diagnostics, you must enable trace flag 806 on the server. To do this, use one of the following methods:
  • Add -T806 to the SQL Server startup parameters. To do this in Enterprise Manager, point to Server Properties, and then click Startup Parameters.
  • Use the DBCC TRACEON(806, -1) command from a query connection.
When you enable trace flag 806 and an audit failure is detected during a read operation, you will receive the following error messages in the SQL Server error log:

2004-06-25 11:29:04.11 spid51 Error: 823, Severity: 24, State: 2
2004-06-25 11:29:04.11 spid51 I/O error (audit failure) detected during read at offset 0x000000000b0000 in file 'e:\Program Files\Microsoft SQL Server\MSSQL\data\pubs.mdf'..
These error messages could indicate potential problems with the disk, the disk controller, or the disk driver software. If you receive these error messages, you must investigate these potential problems.

Note The diagnostics that are included in this hotfix do not correct any hardware or driver problems. These diagnostics are only intended to report issues that occur when you retrieve database pages from physical media.For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
Properties

Article ID: 841776 - Last Review: 01/17/2015 10:25:52 - Revision: 2.3

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

  • kbnosurvey kbarchive kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB841776
Feedback