--- 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)