sys.dm_tran_database_transactions (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

傳回資料庫層級交易的相關資訊。

注意

若要從 Azure Synapse Analytics 或 Analytics Platform System (PDW) 呼叫此 DMV,請使用 名稱sys.dm_pdw_nodes_tran_database_transactions 。 Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。

資料行名稱 資料類型 描述
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 權限。

在SQL 資料庫基本、S0 S1 服務目標上,以及彈性集 區中的 資料庫, 需要伺服器管理員 帳戶、 Microsoft Entra 系統管理員 帳戶或伺服器角色 的成員 ##MS_ServerStateReader## 資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE 權限或 ##MS_ServerStateReader## 伺服器角色的成員資格。

SQL Server 2022 及更新版本的權限

需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。

下一步