FIX: SQL Server Does Not Properly Inform the DTC of Aborted Transactions

ID: Q248492


The information in this article applies to:
  • Microsoft SQL Server version 7.0

BUG #: 56751 (SQLBUG_70)

SYMPTOMS

Under some circumstances when using the Distributed Transaction Coordinator (DTC), a transaction may be aborted on one server yet committed on another. This can happen if a situation such as the following example exists:

Consider two servers, A and B. A transaction starts on Server A and uses DTC to call a stored procedure on Server B. If a transaction abort happens on Server B (for example, a deadlock occurs), it returns the error message to Server A, but does not tell DTC to abort the transaction. As a result, Server A commits the transaction when it should have aborted it, because it was aborted on Server B.


CAUSE

Under some circumstances SQL Server is not passing a transaction abort to DTC.


RESOLUTION

A supported fix that corrects this problem is now available from Microsoft, but it has not been fully regression tested and should be applied only to systems experiencing this specific problem. If you are not severely affected by this specific problem, Microsoft recommends that you wait for the next SQL Server service pack that contains this fix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp
The English version of this fix should have the following file attributes or later:

   Date        Time     Version       Size     File name     Platform
   ------------------------------------------------------------------

   10/29/99   08:11a   7.00.744   15,753,726   S70744A.EXE   Alpha
   10/29/99   07:46a   7.00.744    9,453,743   S70744I.EXE   Intel 
NOTE: Due to file dependencies, the most recent hotfix or feature that contains the above files may also contain additional files.


WORKAROUND

To work around this problem, the application must interpret the incoming error message and manage the transaction itself rather then relying on DTC to abort the transaction.


STATUS

Microsoft has confirmed this to be a problem in SQL Server version 7.0.

Additional query words:

Keywords : SSrvDTC kbbug7.00
Version : winnt:7.0
Platform : winnt
Issue type : kbbug


Last Reviewed: December 15, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.