sys.dm_tran_current_snapshot

更新: 2005 年 12 月 5 日

傳回在目前快照集交易啟動時,顯示所有使用中交易的虛擬資料表。如果目前的交易不是快照集交易,此函數不會傳回任何資料列。sys.dm_tran_current_snapshot 類似 sys.dm_tran_transactions_snapshot,但 sys.dm_tran_current_snapshot 只會傳回目前快照集交易的使用中交易。

語法

sys.dm_tran_current_snapshot

傳回的資料表

資料行名稱 資料類型 描述

transaction_sequence_num

bigint

使用中交易的交易序號

權限

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

範例

下列範例使用的測試案例中有四筆並行交易正在 ALLOW_SNAPSHOT_ISOLATION 和 READ_COMMITTED_SNAPSHOT 選項都設為 ON 的資料庫中執行,而每一筆交易都由一個交易序號 (XSN) 識別。正在執行的交易包括:

  • XSN-57 是在可序列化隔離下執行的更新作業。
  • XSN-58 與 XSN-57 相同。
  • XSN-59 是在快照集隔離下執行的選取作業。
  • XSN-60 與 XSN-59 相同。

下列查詢是在 XSN-59 的範圍內執行。

SELECT 
    transaction_sequence_num
  FROM sys.dm_tran_current_snapshot;

以下為結果集:

transaction_sequence_num
------------------------
57
58

上述結果顯示當快照集交易 XSN-59 啟動時,XSN-57 和 XSN-58 都在使用中。即使在 XSN-57 和 XSN-58 認可或回復之後,仍會產生這個相同的結果,直到快照集交易完成為止。

相同的查詢也會在 XSN-60 的範圍內執行。

以下為結果集:

transaction_sequence_num
------------------------
57
58
59

XSN-60 的輸出包含 XSN-59 顯示的相同交易,但也包括 XSN-60 啟動時使用中的 XSN-59。

請參閱

參考

動態管理檢視和函數
交易相關動態管理檢視和函數

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本

歷程記錄

2005 年 12 月 5 日

詞彙

定義

**新增內容:**新增範例。