Microsoft KB Archive/149939

= FIX: ROLLBACK of TRUNCATE TABLE May Cause Error 3301, AV =

Article ID: 149939

Article Last Modified on 10/16/2003

-

APPLIES TO


 * Microsoft SQL Server 6.5 Standard Edition

-



This article was previously published under Q149939



BUG#: 14849 (6.50)



SYMPTOMS
A TRUNCATE TABLE command that is aborted or rolled back may get a 3301 error "Invalid log record found in Syslogs (logop 42)" and an access violation.



CAUSE
If the truncated table has an IDENTITY column and the TRUNCATE aborts, or is inside a user transaction which later does a ROLLBACK, this problem can occur.



WORKAROUND
If the purpose of the TRUNCATE TABLE is just to remove all the rows, use DELETE with no WHERE clause. If the purpose is also to reset the IDENTITY value, use DELETE with no WHERE clause then TRUNCATE TABLE, and make sure there is no user defined transaction at the time of the TRUNCATE TABLE via logic such as

delete t1 while @@trancount > 0 begin commit tran end truncate table t1



STATUS
Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. This problem has been corrected in U.S. Service Pack 1 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.

Additional query words: sql65 truncate av 3301 syslogs

Keywords: kbbug kbfix kbprogramming KB149939

-

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

© Microsoft Corporation. All rights reserved.