DTCTransaction 事件類別

使用 DTCTransaction 事件類別,可監視透過 Microsoft 分散式交易協調器 (DTC) 進行協調之 SQL Server Database Engine 交易的狀態。這些包括牽涉到同一個 Database Engine 執行個體中兩個以上資料庫的交易,以及牽涉到兩個以上 Database Engine 執行個體的分散式交易。

DTCTransaction 事件類別資料行

資料行名稱

資料類型

描述

資料行識別碼

可篩選

ApplicationName

nvarchar

建立 SQL Server 執行個體之連接的用戶端應用程式名稱。這個資料行會填入應用程式所傳送的值,而非程式的顯示名稱。

10

BinaryData

image

專門在 DTC 內識別這個交易的工作單位識別碼 (UOW) 的二進位表示法。

2

ClientProcessID

int

由主機電腦指派給處理序 (用戶端應用程式執行所在) 的識別碼。如果用戶端提供用戶端處理序識別碼,這個資料行就會擴展。

9

DatabaseID

int

資料庫的識別碼,這是由 USE database 陳述式指定,而如果未針對特定執行個體發出 USE database 陳述式,則為預設的資料庫。如果追蹤內擷取了 ServerName 資料行,而且伺服器可以使用,SQL Server Profiler 就會顯示此資料庫的名稱。請使用 DB_ID 函數決定資料庫的值。

3

DatabaseName

nvarchar

正在執行使用者陳述式的資料庫名稱。

35

EventClass

int

事件類型 = 19。

27

EventSequence

int

要求中的給定事件順序。

51

EventSubClass

int

事件子類別的類型。

0=取得地址

1=傳播交易

3=關閉連接

6=正在建立新的 DTC 交易

7=正在 DTC 交易中編列

9=內部認可

10=內部中止

14=正在準備交易

15=交易準備完成

16=正在中止交易

17=正在認可交易

22=處於準備完成狀態時 TM 失敗

23=未知

21

GroupID

int

SQL 追蹤事件引發所在之工作負載群組的識別碼。

66

HostName

nvarchar

執行用戶端的電腦名稱。如果用戶端提供主機名稱,這個資料行就會擴展。若要得知主機名稱,請使用 HOST_NAME 函數。

8

IntegerData

int

交易的隔離等級。

25

IsSystem

int

指出事件是發生在系統處理序或使用者處理序。1 = 系統,0 = 使用者。

60

LoginName

nvarchar

使用者的登入名稱 (SQL Server 安全性登入或 DOMAIN\username 格式的 Microsoft Windows 登入認證)。

11

LoginSid

image

已登入之使用者的安全性識別碼 (SID)。您可以在 sys.server_principals 目錄檢視中找到這項資訊。伺服器上的每一個登入之 SID 是唯一的。

41

NTDomainName

nvarchar

使用者所隸屬的 Windows 網域。

7

NTUserName

nvarchar

Windows 使用者名稱。

6

RequestID

int

包含陳述式之要求的識別碼。

49

ServerName

nvarchar

正在追蹤之 SQL Server 執行個體的名稱。

26

SessionLoginName

nvarchar

引發工作階段之使用者的登入名稱。例如,如果您使用 Login1 連接到 SQL Server,並以 Login2 執行陳述式,則 SessionLoginName 將顯示 Login1 而 LoginName 則顯示 Login2。此資料行將同時顯示 SQL Server 和 Windows 登入。

64

SPID

int

事件發生所在之工作階段的識別碼。

12

StartTime

datetime

事件啟動的時間 (如果有的話)。

14

TextData

ntext

專門在 DTC 內識別這個交易的 UOW 的文字表示法。

1

TransactionID

bigint

由系統指派給交易的識別碼。

4

XactSequence

bigint

用來描述目前交易的 Token。

50