sys.dm_tran_persistent_version_store_stats (Transact-SQL)

适用于: SQL Server 2019 (15.x) Azure SQL 数据库 Azure SQL 托管实例

返回加速数据库恢复 (ADR) 持久版本存储 (PVS) 指标的信息。

返回的表

列名称 数据类型 描述
database_id int 此行的 database_id

在 Azure SQL 数据库中,这些值在单一数据库或弹性池中是唯一的,但在逻辑服务器中不是唯一的。
pvs_filegroup_id smallint 托管 PVS 版本存储的文件组。
persistent_version_store_size_kb bigint PVS 大小 (KB)。 此值用于确定 PVS 当前使用的空间。
online_index_version_store_size_kb bigint 联机索引重新生成期间使用的特殊版本存储大小(以 KB 为单位)。
current_aborted_transaction_count bigint 数据库中的中止事务数。 可以在 sys.dm_tran_aborted_transactions 中查看中止事务的详细信息。
oldest_active_transaction_id bigint 最早的活动事务的事务 ID。
oldest_aborted_transaction_id bigint 最早的中止事务的事务 ID。 如果 PVS 清理器无法删除中止的事务,此值将反映最早的值。
min_transaction_timestamp bigint 通过快照扫描获取的系统中的最小有用时间戳。
online_index_min_transaction_timestamp bigint 系统中用来阻止 PVS 清理的最小有用时间戳。 这对应于 online_index_version_store_size_kb
secondary_low_water_mark bigint 针对可读辅助数据库的查询聚合的低水印。 它是一个事务 ID,可用于比较 oldest_active_transaction_idoldest_aborted_transaction_id
offrow_version_cleaner_start_time datetime2(7) 行外 PVS 清理过程的开始时间。
offrow_version_cleaner_end_time datetime2(7) 行外 PVS 清理过程的最后结束时间。
aborted_version_cleaner_start_time datetime2(7) 完整扫描的开始时间戳。
aborted_version_cleaner_end_time datetime2(7) 最后一次完整扫描的结束时间戳。 如果开始时间有值但没有结束时间,这意味着此数据库上正在进行 PVS 清理。
pvs_off_row_page_skipped_low_water_mark bigint 由于辅助读取查询被阻止而跳过以进行回收的页数。
pvs_off_row_page_skipped_transaction_not_cleaned bigint 由于事务中止而跳过以进行回收的页数。 请注意,此值不反映因中止事务而中断的 PVS,因为版本清理器使用最小阈值来进行中止事务版本清理。 对于大型 PVS 问题,可以忽略此值。
pvs_off_row_page_skipped_oldest_active_xdesid bigint 由于最早的活动事务而跳过以进行回收的页数。
pvs_off_row_page_skipped_min_useful_xts bigint 由于长时间运行的快照扫描而跳过以进行回收的页数。
pvs_off_row_page_skipped_oldest_snapshot bigint 由于联机索引重新生成活动而跳过以进行回收的页数。 这在使用 PVS 时并不常见。
pvs_off_row_page_skipped_oldest_aborted_xdesid bigint 适用于:SQL Server 2022 (16.x) 及更高版本。
由于最早的中止事务而跳过以进行回收的页数。 如果版本清理器运行缓慢或失效,这将反映必须为中止的事务保留的页数。

权限

对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE 权限。

在 SQL 数据库“基本”、“S0”和“S1”服务目标中,对于“弹性池”中的数据库,服务器管理员帐户、Microsoft Entra 管理员帐户或 ##MS_ServerStateReader## 服务器角色中的成员身份为必填项。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色中的成员身份。

SQL Server 2022 及更高版本的权限

要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。

注解

查看 加速数据库恢复的最佳做法。 如果 ADR PVS 正在增长,请参阅 排查加速数据库恢复问题。

另请参阅