SQL Server Transactions 对象
Microsoft SQL Server 中的 Transactions 对象提供的计数器用于监视数据库引擎实例中处于活动状态的事务的数量,以及这些事务对资源(如 tempdb 中的快照隔离行版本存储区)的影响。事务是工作的逻辑单位,是一组要么必须全部成功要么必须全部从数据库中清除(以便保持数据的逻辑完整性)的操作。SQL Server 数据库中,对数据的所有修改都在事务中进行。
当数据库设置为允许快照隔离级别时,SQL Server 必须保留对数据库中每行进行修改的记录。每次修改行时,由于在修改前行已存在,所以行的副本将记录在 tempdb 中的行版本存储区。Transaction 对象中的许多计数器可用来监视 tempdb 中的行版本存储区的大小和增长速率。
Transactions 对象计数器报告一个数据库引擎实例的所有事务。
下表说明了 SQLServer:Transactions 计数器。
SQL Server Transactions 计数器 |
说明 |
---|---|
Free Space in tempdb (KB) |
tempdb 中的可用空间量 (KB)。必须具有足够的可用空间以保存快照隔离级别版本存储区和在数据库引擎实例中创建的所有新临时对象。 |
Longest Transaction Running Time |
比任何其他当前事务活动时间都长的事务启动后运行的时间长度(秒)。 |
NonSnapshot Version Transactions |
未使用快照隔离级别并进行了数据修改(这些修改在 tempdb 版本存储区中生成行版本)的当前活动事务的数目。 |
Snapshot Transactions |
使用快照隔离级别的当前活动事务的数目。
注意
Snapshot Transactions 对象计数器在进行第一次数据访问时响应,而不是在发出 BEGIN TRANSACTION 语句时响应。
|
Transactions |
当前活动的所有类型的事务的数目。 |
Update conflict ratio |
使用快照隔离级别的、在最后一秒内遇到更新冲突的事务的百分比。更新冲突在以下情况下发生:快照隔离级别事务尝试修改一行,但该行最近一次修改由在快照隔离级别事务启动时未提交的其他事务执行。 |
Update Snapshot Transactions |
使用快照隔离级别并已修改数据的当前活动事务的数目。 |
Version Cleanup rate (KB/s) |
行版本从 tempdb 中的快照隔离版本存储区中删除的速率(KB/秒)。 |
Version Generation rate (KB/s) |
向 tempdb 中的快照隔离版本存储区中添加新行版本的速率(KB/秒)。 |
Version Store Size (KB) |
tempdb 中用来存储快照隔离级别行版本的空间量 (KB)。 |
Version Store unit count |
tempdb 中的快照隔离版本存储区中的活动分配单元的数目。 |
Version Store unit creation |
数据库引擎实例启动后,在快照隔离存储区中创建的分配单元的数目。 |
Version Store unit truncation |
数据库引擎实例启动后,从快照隔离存储区中删除的分配单元的数目。 |