適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
sys.dm_tran_database_transactions動態管理檢視會回傳資料庫層級交易的資訊。
| 資料行名稱 | 資料類型 | 描述 |
|---|---|---|
transaction_id |
bigint | 實例層級交易的標識碼,而不是資料庫層級。 它只在實例內的所有資料庫是唯一的,但並非所有伺服器實例都是唯一的。 |
database_id |
int | 與交易相關聯的資料庫標識碼。 在 Azure SQL 資料庫中,這些值在單一資料庫或彈性集區內是唯一的,但在邏輯伺服器內則不是唯一的。 |
database_transaction_begin_time |
datetime | 資料庫參與交易的時間。 具體而言,這是交易資料庫中第一筆記錄的時間。 |
database_transaction_type |
int | 1 = 讀取/寫入交易 2 = 唯讀交易 3 = 系統交易 |
database_transaction_state |
int | 1 = 交易尚未初始化。 3 = 交易已初始化,但尚未產生任何記錄檔記錄。 4 = 交易已產生記錄檔記錄。 5 = 已備妥交易。 10 = 已認可交易。 11 = 已回復交易。 12 = 正在認可交易。 (日誌記錄正在產生,但未被實體化或持久化。) |
database_transaction_status |
int | 僅供參考之用。 不支援。 我們無法保證未來的相容性。 |
database_transaction_status2 |
int | 僅供參考之用。 不支援。 我們無法保證未來的相容性。 |
database_transaction_log_record_count |
bigint |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 在資料庫中為交易產生的記錄檔記錄數目。 |
database_transaction_replicate_record_count |
int |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 針對複寫的交易,在資料庫中產生的記錄檔記錄數目。 |
database_transaction_log_bytes_used |
bigint |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 到目前為止,資料庫記錄中用於交易的位元元組數目。 |
database_transaction_log_bytes_reserved |
bigint |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 保留用於交易之資料庫記錄檔中的位元元組數目。 |
database_transaction_log_bytes_used_system |
int |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 到目前為止,資料庫記錄中代表交易用於系統交易的位元元組數目。 |
database_transaction_log_bytes_reserved_system |
int |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 保留給資料庫記錄檔中代表交易用於系統交易的位元元組數目。 |
database_transaction_begin_lsn |
numeric(25,0) |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料庫記錄中交易之開始記錄的記錄序號 (LSN)。 |
database_transaction_last_lsn |
numeric(25,0) |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料庫記錄中交易最近記錄之記錄的 LSN。 |
database_transaction_most_recent_savepoint_lsn |
numeric(25,0) |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料庫記錄中交易最近儲存點的 LSN。 |
database_transaction_commit_lsn |
numeric(25,0) |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料庫記錄中交易之認可記錄檔記錄的 LSN。 |
database_transaction_last_rollback_lsn |
numeric(25,0) |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 最近回復到的 LSN。 如果未進行復原,則值為 MaxLSN。 |
database_transaction_next_undo_lsn |
numeric(25,0) |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 要復原之下一筆記錄的 LSN。 |
pdw_node_id |
int |
適用於:Azure Synapse Analytics、Analytics Platform System (PDW) 此散發節點的標識碼。 |
database_transaction_first_repl_lsn |
numeric(25,0) |
適用於:Azure Synapse Analytics、Analytics Platform System (PDW) 交易中第一個需要複製的日誌記錄的 LSN。 |
權限
在 SQL Server 和 SQL 受控執行個體上,需要 VIEW SERVER STATE 權限。
在 Microsoft Fabric 中,查詢 需要成員身份為貢獻者工作區角色或更高特權角色。sys.dm_tran_database_transactions
在 SQL Database [Basic]、[S0] 和 [S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE 權限或 ##MS_ServerStateReader## 伺服器角色的成員資格。
SQL Server 2022 及更新版本的權限
需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。
備註
若要將此 DMV 從 Azure Synapse Analytics 或 Analytics Platform System (PDW) 呼叫,請使用名稱 sys.dm_pdw_nodes_tran_database_transactions 此語法在 Azure Synapse Analytics 中不支援無伺服器 SQL 池。