活动
sys.dm_db_log_stats (Transact-SQL)
适用于: SQL Server 2016 (13.x) SP 2 及更高版本
Azure SQL 数据库
Azure SQL 托管实例
返回有关数据库的事务日志文件的摘要级别属性和信息。 使用此信息监视和诊断事务日志运行状况。
sys.dm_db_log_stats ( database_id )
database_id |NULL |违约
数据库的 ID。 database_id
为 int
。 有效输入是数据库的 ID 号, NULL
或 DEFAULT
。 默认为 NULL
。 NULL
是 DEFAULT
当前数据库的上下文中的等效值。
你可以指定内置函数 DB_ID。 如果在不指定数据库名称的情况下使用 DB_ID
,则当前数据库的兼容级别必须是 90 或更高。
列名称 | 数据类型 | 描述 |
---|---|---|
database_id | int | 数据库 ID。 在 Azure SQL 数据库中,这些值在单一数据库或弹性池中是唯一的,但在逻辑服务器中不是唯一的。 |
recovery_model | nvarchar(60) | 数据库的恢复模式。 可能的值包括: SIMPLE BULK_LOGGED FULL |
log_min_lsn | nvarchar(24) | 事务日志中的当前开始 日志序列号(LSN )。 |
log_end_lsn | nvarchar(24) | 事务日志中最后一条日志记录的日志序列号(LSN )。 |
current_vlf_sequence_number | bigint | 执行时当前的 虚拟日志文件 (VLF) 序列号。 |
current_vlf_size_mb | float | 当前 虚拟日志文件(VLF) 大小(以 MB 为单位)。 |
total_vlf_count | bigint | 事务日志中的虚拟日志文件(VFS)总数。 |
total_log_size_mb | float | 事务日志总大小(以 MB 为单位)。 |
active_vlf_count | bigint | 事务日志中的活动 虚拟日志文件(VFS) 总数。 |
active_log_size_mb | float | 活动事务日志大小总计(以 MB 为单位)。 |
log_truncation_holdup_reason | nvarchar(60) | 日志截断保留原因。 该值与 log_reuse_wait_desc . 的 sys.databases 列相同。 (有关这些值的更详细说明,请参阅 事务日志)。 可能的值包括: NOTHING CHECKPOINT LOG_BACKUP ACTIVE_BACKUP_OR_RESTORE ACTIVE_TRANSACTION DATABASE_MIRRORING 复制 DATABASE_SNAPSHOT_CREATION LOG_SCAN AVAILABILITY_REPLICA OLDEST_PAGE XTP_CHECKPOINT 其他暂时性 |
log_backup_time | datetime | 上次事务日志备份时间。 |
log_backup_lsn | nvarchar(24) | 上次事务日志备份日志序列号(LSN)。 |
log_since_last_log_backup_mb | float | 自上次事务日志备份 日志序列号(LSN)以来,日志大小(以 MB 为单位)。 |
log_checkpoint_lsn | nvarchar(24) | 最后一个检查点日志序列号(LSN)。 |
log_since_last_checkpoint_mb | float | 自上次检查点 日志序列号(LSN)以来的日志大小(以 MB 为单位)。 |
log_recovery_lsn | nvarchar(24) | 数据库的恢复日志序列号(LSN)。 如果在 log_recovery_lsn 检查点 LSN 之前发生, log_recovery_lsn 则为最早的活动事务 LSN,否则 log_recovery_lsn 为检查点 LSN。 |
log_recovery_size_mb | float | 日志大小(以 MB 为单位),因为日志恢复 日志序列号 (LSN) 。 |
recovery_vlf_count | bigint | 如果发生故障转移或服务器重启,则恢复的虚拟日志文件(VDF)总数。 |
针对作为次要副本参与可用性组的数据库运行时 sys.dm_db_log_stats
,将只返回上述字段的子集。 目前,仅database_id
针对recovery_model
log_backup_time
辅助数据库运行时,将返回该数据库。
需要数据库中的 VIEW SERVER STATE
权限。
要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。
以下查询返回日志文件中具有 100 多个 VLAN 的数据库。 大量 VDF 可能会影响数据库启动、还原和恢复时间。
SELECT name AS 'Database Name', total_vlf_count AS 'VLF count'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id)
WHERE total_vlf_count > 100;
以下查询确定实例中数据库的最后一次日志备份时间。
SELECT name AS 'Database Name', log_backup_time AS 'last log backup time'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id);
动态管理视图和函数 (Transact-SQL)
与数据库有关的动态管理视图 (Transact-SQL)
sys.dm_db_log_space_usage (Transact-SQL)
sys.dm_db_log_info (Transact-SQL)