我有一个数据库,该数据库具有350 MB数据文件(.mdf)和4.9 GB日志文件(.ldf)。恢复模型设置为FULL
。
当我尝试收缩日志文件时,它没有收缩。
我知道收缩数据库是不好的,不应该这样做。但是我仍然在尝试缩小日志文件。
我跑的时候
DBCC SQLPerf(logspace)
我发现日志大小为4932 MB,使用的日志空间为98.76%!
然后我尝试了这个命令
USE <databasename>;
DBCC loginfo;
现在几乎所有的VLF均为“状态2”,这意味着所有VLF都在使用中。
我尝试进行日志备份,然后缩小日志文件。缩小并没有减小尺寸。
我将恢复模型更改为SIMPLE
并尝试再次缩小,但这也无济于事。
我检查了未结交易
DBCC opentran (database);
并发现现在没有任何交易打开。
是什么阻止了我缩小日志文件?我该如何解决?
log_reuse_wait_desc
给了ACTIVE_TRANSACTION
。交易一旦完成,收缩就可以了。