You are currently offline, waiting for your internet to reconnect

FIX: DTC Transaction IDs and Isolation Levels Not Captured

This article was previously published under Q239766
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 56068 (SQLBUG_70)
BUG #: 56084 (SQLBUG_70)
SQL Profiler may record the wrong DTC transaction ID, available in the text data column of the output, for certain events related to distributed transactions.

In addition, the isolation level for the session is not recorded anywhere in the Profiler trace.
Several DTC trace events produced by the SQL Server inadvertently grab the DTC transaction ID before the actual event action is performed. When the event is produced the transaction ID reported is the prior transaction ID.
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
254561 INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
For more information, contact your primary support provider.
The operation most important to the tracking of DTC transactions is the propagate event. The nature of the bug is to use the prior transaction ID for the SPID when producing events. When the propagate event is produced the transaction ID reported is incorrectly the prior transaction. Thus, making it difficult to track the true scope of the DTC transaction.

In order to enable the correction, start SQL Server with -T8510 or issue the dbcctraceon(8510,-1) T-SQL command to enable the correct behavior.

Article ID: 239766 - Last Review: 10/21/2013 23:56:51 - Revision: 2.0

Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbbug kbfix KB239766