---
title: "DTCTransaction Event Class | Microsoft Docs"
ms.custom: ""
ms.date: "06/13/2017"
ms.prod: "sql-server-2014"
ms.reviewer: ""
ms.technology: supportability
ms.topic: conceptual
topic_type:
- "apiref"
helpviewer_keywords:
- "DTCTransaction event class"
ms.assetid: 9a2d358e-5b8f-4d0b-8b93-6705c009ad57
author: stevestein
ms.author: sstein
manager: craigg
---
# DTCTransaction Event Class
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](../extended-events/extended-events.md)
[sp_trace_setevent (Transact-SQL)](/sql/relational-databases/system-stored-procedures/sp-trace-setevent-transact-sql)