Microsoft SQL Server 中的 Transactions 物件會提供計數器來監視 Database Engine 實例中作用中的交易數目,以及這些交易對 tempdb 中快照集隔離數據列版本存放區等資源的影響。 交易是工作的邏輯單位;一組作業,必須全部成功或全部從資料庫清除,才能維護數據的邏輯完整性。 SQL Server 資料庫中的所有數據修改都是在交易中進行。
當資料庫設定為允許快照隔離等級時,SQL Server 必須維護對資料庫中每個數據列所做的修改記錄。 每次修改資料列時,會在 tempdb 中的資料列版本存放區記錄下修改前的資料列複本。 Transaction 物件中的許多計數器可用來監視 tempdb 中數據列版本存放區的大小和成長速度。
Transactions 物件計數器會報告 Database Engine 一個實例中的所有交易。
下表描述 SQLServer:Transactions 計數器。
| SQL Server 交易計數器 | 說明 |
|---|---|
| tempdb 中的可用空間 (KB) | tempdb 中可用的空間量(以 KB 為單位)。 必須有足夠的可用空間來保存快照隔離等級版本存放區,以及在此 Database Engine 實例中建立的所有新暫存物件。 |
| 最長的交易運行時間 | 自交易開始以來(以秒為單位)的時間長度,該交易比其他任何目前正在進行的交易活躍時間更長。 此計數器僅在資料庫處於已讀認可的快照隔離等級時顯示活動。 如果資料庫處於任何其他隔離等級,則不會記錄任何活動。 |
| 非快照版本交易 | 目前使用中交易的數目,這些交易不使用快照集隔離等級,而且已進行數據修改,這些交易已在 tempdb 版本存放區中產生數據列版本。 |
| 快照交易 | 當前正在使用快照隔離等級的交易數目。 注意:快照交易物件計數器會在第一次數據存取發生時回應,而不是在語句發出時。 |
| 交易 | 所有類型目前使用中的交易數目。 |
| 更新衝突比率 | 使用快照隔離等級的交易中,在最後一秒內發生更新衝突的百分比。 當快照隔離級別的交易嘗試修改一個數據列,而該數據列上次是由另一個未被提交的交易修改時,就會發生更新衝突。 |
| 更新快照交易 | 目前使用快照隔離等級的交易數目,並已修改數據。 |
| 版本清除率 (KB/秒) | 從 tempdb 中的快照隔離版本存放區中移除資料列版本的速率(以每秒 KB 為單位)。 |
| 版本產生率 (KB/秒) | 將新數據列版本新增至 tempdb中快照隔離版本存放區的速率(以每秒 KB 為單位)。 |
| 版本存放區大小 (KB) | tempdb 中用來儲存快照隔離等級數據列版本的空間量(以 KB 為單位)。 |
| 版本存放區單位數量 | tempdb 中快照隔離版本存放區中的活躍配置單位數目。 |
| 版本存放區單元建立 | 自資料庫引擎實例啟動以來,在快照隔離存放區中已建立的配置單位數目。 |
| 版本庫單位截斷 | 自 Database Engine 實例啟動後,已從快照隔離儲存區中移除的配置單元數目。 |