Microsoft SQL Server 中的 Transactions 对象提供计数器来监视数据库引擎实例中处于活动状态的事务数,以及这些事务对 tempdb 中快照隔离行版本存储等资源的影响。 事务是工作的逻辑单元,即一组操作,它们必须全部成功或全部从数据库中删除,以维护数据的逻辑完整性。 SQL Server 数据库中的所有数据修改都是在事务中进行的。
将数据库设置为允许快照隔离级别时,SQL Server 必须保留对数据库中每一行所做的修改记录。 每次修改行时,该行为修改前的副本会记录在 tempdb 的行版本存储中。 Transaction 对象中的许多计数器可用于监视 tempdb 中行版本存储的大小和增长率。
Transactions 对象计数器报告数据库引擎的一个实例中的所有事务。
下表描述了 SQLServer:Transactions 计数器。
SQL Server 事务计数器 | DESCRIPTION |
---|---|
tempdb 中的可用空间(KB) | tempdb 中可用的空间量(以 KB 为单位)。 必须有足够的可用空间来保存快照隔离级别版本存储和在此数据库引擎实例中创建的所有新的临时对象。 |
最长的事务运行时间 | 自事务开始以来持续时间最长的事务的时间长度(以秒为单位),比任何其他当前事务都长。 此计数器仅在数据库处于已提交读取快照隔离级别时显示活动。 如果数据库处于任何其他隔离级别,则不会记录任何活动。 |
非快照版本事务 | 当前活跃且未使用快照隔离级别的事务数量,这些事务进行了数据修改,并在tempdb版本存储中生成了行版本。 |
快照事务 | 当前使用快照隔离级别的活动事务数。 注意:快照事务对象计数器是在首次数据访问发生时做出响应,而不是在发出语句时响应。 |
交易 | 当前所有类型的活动事务数。 |
更新冲突比率 | 在过去一秒内使用快照隔离级别进行的事务中遇到更新冲突的百分比。 当快照隔离级别事务尝试修改某一行,而该行的上次修改是在快照隔离级别事务启动时由尚未提交的其他事务修改的,这时会发生更新冲突。 |
更新快照交易 | 当前使用快照隔离级别并已修改数据的活动事务数。 |
版本清理率 (KB/秒) | 从 tempdb 中的快照隔离版本存储中删除行版本的速率(以千字节/秒为单位)。 |
版本生成速率 (KB/秒) | 将新行版本添加到 tempdb 中的快照隔离版本存储的速率(以千字节/秒为单位)。 |
版本存储大小 (KB) | tempdb 中用于存储快照隔离级别行版本的空间量(以 KB 为单位)。 |
版本存储单元计数 | tempdb 中快照隔离版本存储中的活动分配单元数。 |
版本存储单元创建 | 自数据库引擎实例启动以来在快照隔离存储中创建的分配单元数。 |
版本存储单元截断 | 自启动数据库引擎实例以来从快照隔离存储中删除的分配单元数。 |