Microsoft KB Archive/841776

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

Article ID: 841776

Article Last Modified on 11/2/2007

-

APPLIES TO


 * 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 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 #: 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: , line=1447 Failed Assertion = 'm_SizeRec > 0 && m_SizeRec <= MAXDATAROW'.

SQL Server Assertion: File: , line=1378 Failed Assertion = 'm_offBeginVar < m_SizeRec'.

SQL Server Assertion: File: , line=1374 Failed Assertion = 'm_nVars > 0'.



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 &quot;Applies to&quot; 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

Keywords: kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver KB841776

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.