---
title: "DTCTransaction Event Class | Microsoft Docs"
ms.custom: ""
ms.date: "03/14/2017"
ms.prod: sql
ms.reviewer: ""
ms.technology: supportability
ms.topic: conceptual
helpviewer_keywords:
- "DTCTransaction event class"
ms.assetid: 9a2d358e-5b8f-4d0b-8b93-6705c009ad57
author: "stevestein"
ms.author: "sstein"
monikerRange: "=azuresqldb-current||>=sql-server-2016||=sqlallproducts-allversions||>=sql-server-linux-2017||=azuresqldb-mi-current"
---
# DTCTransaction Event Class
[!INCLUDE[appliesto-ss-asdb-xxxx-xxx-md](../../includes/appliesto-ss-asdb-xxxx-xxx-md.md)]
Use the **DTCTransaction** event class to monitor the state of [!INCLUDE[ssDEnoversion](../../includes/ssdenoversion-md.md)] transactions coordinated through [!INCLUDE[msCoName](../../includes/msconame-md.md)] Distributed Transaction Coordinator (DTC). This includes transactions involving two or more databases in the same instance of the [!INCLUDE[ssDE](../../includes/ssde-md.md)], or distributed transactions involving two or more instances of the [!INCLUDE[ssDE](../../includes/ssde-md.md)].
## DTCTransaction Event Class Data Columns
|Data column name|Data type|Description|Column ID|Filterable|
|----------------------|---------------|-----------------|---------------|----------------|
|**ApplicationName**|**nvarchar**|Name of the client application that created the connection to an instance of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. This column is populated with the values passed by the application rather than the displayed name of the program.|10|Yes|
|**BinaryData**|**image**|Binary representation of the Unit of Work ID (UOW) that uniquely identifies this transaction within DTC.|2|Yes|
|**ClientProcessID**|**int**|ID assigned by the host computer to the process where the client application is running. This data column is populated if the client provides the client process ID.|9|Yes|
|**DatabaseID**|**int**|ID of the database specified by the USE *database* statement or the default database if no USE *database* statement has been issued for a given instance. [!INCLUDE[ssSqlProfiler](../../includes/sssqlprofiler-md.md)] displays the name of the database if the **ServerName** data column is captured in the trace and the server is available. Determine the value for a database by using the DB_ID function.|3|Yes|
|**DatabaseName**|**nvarchar**|Name of the database in which the user statement is running.|35|Yes|
|**EventClass**|**int**|Type of event = 19.|27|No|
|**EventSequence**|**int**|Sequence of a given event within the request.|51|No|
|**EventSubClass**|**int**|Type of event subclass.
0=Get address
1=Propagate Transaction
3=Close connection
6=Creating a new DTC transaction
7=Enlisting in a DTC transaction
9=Internal commit
10=Internal abort
14=Preparing Transaction
15=Transaction is prepared
16=Transaction is aborting
17=Transaction is committing
22=TM failed while in prepared state
23=Unknown|21|Yes|
|**GroupID**|**int**|ID of the workload group where the SQL Trace event fires.|66|Yes|
|**HostName**|**nvarchar**|Name of the computer on which the client is running. This data column is populated if the client provides the host name. To determine the host name, use the HOST_NAME function.|8|Yes|
|**IntegerData**|**int**|Isolation level of the transaction.|25|Yes|
|**IsSystem**|**int**|Indicates whether the event occurred on a system process or a user process. 1 = system, 0 = user.|60|Yes|
|**LoginName**|**nvarchar**|Name of the login of the user (either the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] security login or the [!INCLUDE[msCoName](../../includes/msconame-md.md)] Windows login credentials in the form of DOMAIN\username).|11|Yes|
|**LoginSid**|**image**|Security identification number (SID) of the logged-in user. You can find this information in the **sys.server_principals** catalog view. Each SID is unique for each login in the server.|41|Yes|
|**NTDomainName**|**nvarchar**|Windows domain to which the user belongs.|7|Yes|
|**NTUserName**|**nvarchar**|Windows user name.|6|Yes|
|**RequestID**|**int**|ID of the request containing the statement.|49|Yes|
|**ServerName**|**nvarchar**|Name of the instance of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] being traced.|26|No|
|**SessionLoginName**|**nvarchar**|Login name of the user who originated the session. For example, if you connect to [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] using Login1 and execute a statement as Login2, **SessionLoginName** shows Login1 and **LoginName** shows Login2. This column displays both [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] and Windows logins.|64|Yes|
|**SPID**|**int**|ID of the session on which the event occurred.|12|Yes|
|**StartTime**|**datetime**|Time at which the event started, when available.|14|Yes|
|**TextData**|**ntext**|Textual representation of the UOW that uniquely identifies this transaction within DTC.|1|Yes|
|**TransactionID**|**bigint**|System-assigned ID of the transaction.|4|Yes|
|**XactSequence**|**bigint**|Token used to describe the current transaction.|50|Yes|
## See Also
[Extended Events](../../relational-databases/extended-events/extended-events.md)
[sp_trace_setevent (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-trace-setevent-transact-sql.md)