DBCC LOGINFO 列“状态”中的 2 是否意味着它不能被截断?

j.w*_*alt 1 sql-server dbcc transaction-log

当我运行命令时DBCC LOGINFO,一些Status行包含 2。

现在我想检查为什么我的事务日志不能被截断。我怎么看这个?2 是否意味着Status它们不可重用或操作正在等待(备份、恢复)?是说不能截断吗?

Sco*_*red 5

根据Sankar Reddy在这个 MSDN 论坛回答中的信息(以及搜索DBCC loginfo status 2时的其他帖子):

Status = 2 表示此时无法重用(覆盖)VLF,并不一定意味着 VLF 仍处于活动状态并将事务写入该 VLF。这意味着 VLF 正在等待备份/REPL/镜像等...

数据库检查点 (SQL Server)

CHECKPOINT 仅在简单恢复模型中截断事务日志(标记 VLF 以供重用)。在完全恢复中,您必须进行日志备份。

了解 SQL Server 中日志记录和恢复,作者 Paul S. Randal