sys.dm_tran_top_version_generators
更新: 2005 年 12 月 5 日
針對產生版本存放區中大部份版本的物件,傳回一份虛擬資料表。sys.dm_tran_top_version_generators 會傳回由 database_id 和 rowset_id 分組的前 256 筆彙總記錄長度。sys.dm_tran_top_version_generators 會查詢 dm_tran_version_store 虛擬資料表來擷取資料。sys.dm_tran_top_version_generators 是執行效率不佳的檢視,因為這份檢視會查詢版本存放區,而版本存放區可能非常龐大。建議您使用這個函數,尋找版本存放區的最大取用者。
語法
sys.dm_tran_top_version_generators
傳回的資料表
資料行名稱 | 資料類型 | 描述 |
---|---|---|
database_id |
int |
資料庫識別碼。 |
rowset_id |
bigint |
資料列集識別碼。 |
aggregated_record_length_in_bytes |
int |
在版本存放區中,每個 database_id 和 rowset_id 配對的記錄長度總和。 |
備註
由於 sys.dm_tran_top_version_generators 在掃描整個版本存放區時可能必須讀取許多頁面,因此執行 sys.dm_tran_top_version_generators 可能會影響系統的效能。
權限
需要伺服器的 VIEW SERVER STATE 權限。
範例
下列範例使用的測試案例中有四筆並行交易正在 ALLOW_SNAPSHOT_ISOLATION 和 READ_COMMITTED_SNAPSHOT 選項都設為 ON 的資料庫中執行,而每一筆交易都由一個交易序號 (XSN) 識別。正在執行的交易包括:
- XSN-57 是在可序列化隔離下執行的更新作業。
- XSN-58 與 XSN-57 相同。
- XSN-59 是在快照集隔離下執行的選取作業。
- XSN-60 與 XSN-59 相同。
執行以下查詢:
SELECT
database_id,
rowset_id,
aggregated_record_length_in_bytes
FROM sys.dm_tran_top_version_generators;
以下為結果集:
database_id rowset_id aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9 72057594038321152 87
9 72057594038386688 33
此輸出顯示所有的版本都由 database_id``9
建立,而且這些版本均由兩份資料表產生。
請參閱
參考
說明及資訊
變更歷程記錄
版本
歷程記錄
2005 年 12 月 5 日
詞彙
定義
**新增內容:**新增範例。