FIX: Rollback in Trigger Does Not Terminate Batch

Last reviewed: October 9, 1997
Article ID: Q154002
The information in this article applies to:
  • Microsoft SQL Server version 6.5

SYMPTOMS

If a ROLLBACK TRAN statement executes within a trigger, the rest of the batch is not aborted.

WORKAROUND

To work around this problem, you can use the SET option XACT_ABORT to force the rest of the batch to abort when there is a rollback. Note, however, that this will abort the batch even for a rollback not happening within a trigger.

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.

MORE INFORMATION

The problem happens only with the ROLLBACK TRAN statement. A rollback that happens automatically because an error with severity level 19 or greater arises will terminate the batch as expected.

The following script demonstrates the problem.

   create table t1(c1 int)
   go
   create trigger tr1 on t1 for insert as
   rollback tran
   go
   begin tran
   insert t1 values(100)
   print 'We should not get here...'
   if @@trancount <> 0
   commit tran
   go


Additional query words: sp1
Keywords : kbbug6.50 kbfix6.50.sp1 kbnetwork
Version : 6.5
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 9, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.