sys.dm_db_xtp_object_stats (Transact-SQL)

适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例

报告自上次数据库重启以来对每个内存中 OLTP 对象执行的操作所影响的行数。 统计信息会在操作执行时更新(无论事务提交还是回滚)。

系统 sys.dm_db_xtp_object_stats 动态管理视图可帮助你确定哪些内存优化表正在更改最多的表。 您可以决定删除表中未使用或很少使用的索引,因为每个索引都会影响性能。 如果存在哈希索引,则您应定期重新计算桶计数。 有关详细信息,请参阅 Determining the Correct Bucket Count for Hash Indexes

用于 sys.dm_db_xtp_object_stats 确定哪些内存优化表会产生写入-写入冲突,这可能会影响应用程序的性能。 例如,如果您有事务重试逻辑,则相同语句可能需要执行多次。 您还可以使用此信息标识需要写/写错误处理的表(以及因此得到的业务逻辑)。

该视图为数据库中的每个内存优化表包含一行。

有关详细信息,请参阅 内存中 OLTP(内存中优化)

列名称 数据类型 说明
object_id bigint 对象的 ID。
row_insert_attempts bigint 自上次数据库重新启动以来由已提交和中止的事务插入表中的行数。
row_update_attempts bigint 自上次数据库重新启动以来由已提交和中止的事务在表中更新的行数。
row_delete_attempts bigint 自上次数据库重新启动以来由已提交和中止的事务从表中删除的行数。
write_conflicts bigint 自上次数据库重新启动以来发生的写入冲突数。
unique_constraint_violations bigint 自上次数据库重新启动以来发生的唯一约束冲突数。
object_address varbinary(8) 仅供内部使用。

权限

要求对当前数据库拥有 VIEW DATABASE STATE 权限。

SQL Server 2022 及更高版本的权限

需要对数据库拥有 VIEW DATABASE PERFORMANCE STATE 权限。