Microsoft KB Archive/319851

= FIX: Assertion and Error Message 3314 Occurs If You Try to Roll Back a Text Operation with READ UNCOMMITTED =

Article ID: 319851

Article Last Modified on 10/18/2005

-

APPLIES TO


 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 7.0 Standard Edition

-



This article was previously published under Q319851



BUG #: 102483 (SQLBUG_70) BUG #: 102483 (SHILOH)



SYMPTOMS
SQL Server may experience the following assertion, and a 3314 error message occurs if SQL Server tries to roll back a text operation when a connection is running with the READ UNCOMMITTED transaction isolation level set on the connection:

2002-03-14 10:31:48.95 kernel   SQL Server Assertion: File: , line=2825 Failed Assertion = 'sid >= m_slotCnt || m_slots[-sid].offset ==0'.

Additionally, on SQL Server 2000, the following assertion may also be present in the SQL Server error log:

2002-08-23 10:21:14.39 spid54   SQL Server Assertion: File: , line=3049 Failed Assertion = '(m_lastLSN == NullLSN) || (m_lastLSN > m_curLSN)'.

2002-03-14 10:32:03.02 spid9   Error: 3314, Severity: 21, State: 4 2002-03-14 10:32:03.02 spid9   Error while undoing logged operation in database 'myDB'. Error at log record ID (8976:897:74)..

On SQL Server 2000, the following message may accompany the 3314 error message:

2002-08-23 10:21:14.68 spid54   Error: 9004, Severity: 23, State: 7 2002-08-23 10:21:14.68 spid54   An error occurred while processing the log for database 'myDB'..



RESOLUTION
A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of the SQL Server 2000 fix should have the following file attributes or later:   Date          Version    Size              File name ---

05-SEP-2002  8.00.682   7,467,089 bytes   Sqlservr.exe  SP2-Based Fix

NOTE: The SQL Server 2000 based fix will be included in Microsoft SQL Server 2000 Service Pack 3 (SP3).

The English version of the SQL Server 7.0 fix should have the following file attributes or later:   Date          Version     Size              File name ---

15-MAR-2002  7.00.1026   5,054,736 bytes   Sqlservr.exe  SP3-Based Fix 14-FEB-2002  7.00.1021     586,000 bytes   Sqlsort.dll   SP3-Based Fix 14-MAY-2002  7.00.1071   5,058,832 bytes   Sqlservr.exe  SP4-Based Fix

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

NOTE: The fix for this bug will be included in SQL Server 2000 Service Pack 3.



WORKAROUND
To work around the behavior, set the isolation level of the connection to READ COMMITTED by using a Transact-SQL SET statement. For example: SET TRANSACTION ISOLATION LEVEL READ COMMITTED



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Additional query words: sp_createorphan SQLPutData ISequentialStream::Write

Keywords: kbbug kbfix kbqfe kbsqlserv700presp5fix kbsqlserv2000sp3fix kbhotfixserver KB319851

-

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

© Microsoft Corporation. All rights reserved.