FIX: DTC Transaction IDs and Isolation Levels Not Captured (239766)



The information in this article applies to:

  • Microsoft SQL Server 7.0

This article was previously published under Q239766
BUG #: 56068 (SQLBUG_70)
BUG #: 56084 (SQLBUG_70)

SYMPTOMS

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.

CAUSE

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.

STATUS

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.

MORE INFORMATION

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.

Modification Type:MajorLast Reviewed:3/14/2006
Keywords:kbBug kbfix KB239766