sys.dm_tran_session_transactions (Transact-SQL)
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
傳回相關聯交易和會話的相互關聯資訊。
注意
若要從 Azure Synapse Analytics 或 Analytics Platform System (PDW) 呼叫此專案,請使用 名稱 sys.dm_pdw_nodes_tran_session_transactions
。 Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
session_id | int | 執行交易的會話標識碼。 |
transaction_id | bigint | 交易的標識碼。 |
transaction_descriptor | binary(8) | 與客戶端驅動程式通訊時,SQL Server 所使用的交易識別碼。 |
enlist_count | int | 會話中處理交易的作用中要求數目。 |
is_user_transaction | bit | 1 = 交易是由使用者要求起始。 0 = 系統交易。 |
is_local | bit | 1 = 本機交易。 0 = 分散式交易或編列的系結會話交易。 |
is_enlisted | bit | 1 = 登記分散式交易。 0 = 不是已登記的分散式交易。 |
is_bound | bit | 1 = 交易透過系結會話在會話上作用中。 0 = 交易不是透過系結會話在會話上作用中。 |
open_transaction_count | int | 每個會話的開啟交易數目。 |
pdw_node_id | int | 適用於:Azure Synapse Analytics、Analytics Platform System (PDW) 此散發節點的標識碼。 |
權限
在 SQL Server 和 SQL 受控執行個體上,需要 VIEW SERVER STATE
權限。
在 SQL Database [Basic]、[S0] 和 [S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##
伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE
權限或 ##MS_ServerStateReader##
伺服器角色的成員資格。
SQL Server 2022 及更新版本的權限
需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。
備註
透過系結會話和分散式交易,交易有可能在多個會話下執行。 在這種情況下,針對相同的 transaction_id
顯示多個數據列,sys.dm_tran_session_transactions
針對執行交易的每個會話顯示一個數據列。 由於記錄它們的方式差異, open_transaction_count
可能不符合 sys.dm_exec_sessions
。open_transaction_count
。
藉由使用多個作用中結果集在自動認可模式中執行多個要求(MARS),就可以在單一會話上有多個作用中交易。 在這種情況下,針對相同的 session_id
顯示多個數據列,sys.dm_tran_session_transactions
針對在該會話下執行的每個交易顯示一個數據列。