正常情况下事务日志文件过大时可以右点数据库--任务--收缩--文件--选择日志进行收缩,从而达到减小事务日志文件的目的。
但在有些情况下没有达到执行收缩条件,无法执行收缩:
1、数据库恢复模式 为 完整恢复模式(FULL)或大容量日志恢复模式(BULK_LOGGED),
a、没有执行日志备份 且 硬盘空间充足:执行日志备份后 可以正常实现收缩;
b、没有执行日志备份 且 硬盘空间不足:将数据库恢复模式调整为 简单恢复模式,可以正常实现收缩,收缩完成后将数据库恢复模式调整成原有的模式;
上面不能正常收缩的原因是 没有截断事务日志,对应上面的两种情况,数据库两种情况下会自动截断事务日志:
a、数据库恢复模式 为 完整恢复模式(FULL)或大容量日志恢复模式(BULK_LOGGED)时,在日志备份完成之后,自动截断事务日志
b、数据库恢复模式 为 简单恢复模式(SIMPLE)时,事务日志会在每个检查点之后自动截断。
所以在硬盘空间不足无法进行日志备份时,将数据库恢复模式调整为 简单恢复模式(SIMPLE)且进行日志文件收缩 是减小事务日志文件最好的方法。