sys.dm_db_xtp_checkpoint_stats (Transact-SQL)

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

返回与当前数据库中的内存中 OLTP 检查点操作有关的统计信息。 如果数据库没有内存中 OLTP 对象, sys.dm_db_xtp_checkpoint_stats 则返回一个空的结果集。

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

USE [In_Memory_db_name]
SELECT * FROM sys.dm_db_xtp_checkpoint_stats;

SQL Server 2014 (12.x) 与较新版本大相径庭,单独讨论。

下表介绍了 SQL Server 2016(13.x)及更高版本中的列 sys.dm_db_xtp_checkpoint_stats

列名称 类型 描述
last_lsn_processed bigint 控制器看到的最后一个 LSN。
end_of_log_lsn numeric(38) 日志末尾的 LSN。
bytes_to_end_of_log bigint 控制器未处理的日志字节,对应于两者之间 last_lsn_processedend_of_log_lsn之间的字节数。
log_consumption_rate bigint 控制器的事务日志消耗率(以 KB/秒为单位)。
active_scan_time_in_ms bigint 控制器在主动扫描事务日志时花费的时间。
total_wait_time_in_ms bigint 未扫描日志时控制器的累积等待时间。
waits_for_io bigint 控制器线程对日志 IO 的等待数。
io_wait_time_in_ms bigint 控制器线程等待日志 IO 的累积时间。
waits_for_new_log_count bigint 控制器线程为要生成新日志而发生的等待数。
new_log_wait_time_in_ms bigint 控制器线程等待新日志的累积时间。
idle_attempts_count bigint 控制器转换为空闲状态的次数。
tx_segments_dispatched bigint 控制器看到的段数,并调度到序列化程序。 段是构成序列化单元的日志的连续部分。 它当前大小为 1 MB,但将来可能会更改。
segment_bytes_dispatched bigint 控制器向序列化程序调度的字节总数,因为数据库重启。
bytes_serialized bigint 自数据库重启以来序列化的字节总数。
serializer_user_time_in_ms bigint 序列化程序在用户模式下花费的时间。
serializer_kernel_time_in_ms bigint 序列化程序在内核模式下花费的时间。
xtp_log_bytes_consumed bigint 自数据库重启以来使用的日志字节总数。
checkpoints_closed bigint 自数据库重启以来关闭的检查点计数。
last_closed_checkpoint_ts bigint 上次关闭的检查点的时间戳。
hardened_recovery_lsn numeric(38) 恢复从此 LSN 开始。
hardened_root_file_guid uniqueidentifier 由于上次完成的检查点而强化的根文件的 GUID。
hardened_root_file_watermark bigint 仅限内部。 指定读取根文件的有效程度(这只是一种内部相关类型-称为 BSN)。
hardened_truncation_lsn numeric(38) 截断点的 LSN。
log_bytes_since_last_close bigint 最后一个接近当前日志末尾的字节数。
time_since_last_close_in_ms bigint 自上次关闭检查点以来的时间。
current_checkpoint_id bigint 当前,新段将分配到此检查点。 检查点系统是管道。 当前检查点是日志中要分配到的段。 达到限制后,控制器会释放检查点,并释放一个新的检查点,并将其创建为当前状态。
current_checkpoint_segment_count bigint 当前检查点中的段计数。
recovery_lsn_candidate bigint 仅在内部。 关闭时被选为恢复状态的 current_checkpoint_id 候选项。
outstanding_checkpoint_count bigint 正在等待关闭的管道中的检查点数。
closing_checkpoint_id bigint 关闭检查点的 ID。

序列化程序并行工作,因此完成后,检查点是关闭线程的候选项。 但关闭线程一次只能关闭一个,必须按顺序关闭,因此关闭检查点是关闭线程正在处理的。
recovery_checkpoint_id bigint 要用于恢复的检查点的 ID。
recovery_checkpoint_ts bigint 恢复检查点的时间戳。
bootstrap_recovery_lsn numeric(38) 启动的恢复 LSN。
bootstrap_root_file_guid uniqueidentifier 启动的根文件的 GUID。
internal_error_code bigint 任何控制器、序列化程序、关闭和合并线程都看到的错误。
bytes_of_large_data_serialized bigint 指定序列化的数据量。
db_in_checkpoint_only_mode bit 如此 如果数据库处于内存中 OLTP 检查点仅模式。

适用于:SQL Server 2022 (16.x) 及更高版本。

权限

SQL Server 2019 (15.x) 和早期版本需要 VIEW DATABASE STATE 对数据库具有权限。

SQL Server 2022 (16.x) 及更高版本需要 VIEW DATABASE PERFORMANCE STATE 对数据库具有权限。