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_processed 和 end_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
对数据库具有权限。