在数据库中可以设置log文件自动增长的上限,如下图:
我查询到的并且实验成功的两种数据库日志文件清理的方法如下:
1.直接分离数据库,然后删除日志文件再附加。
2.数据库日志文件的清理方法:
USE [pqm]
GO
ALTER DATABASE pqm SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE pqm SET RECOVERY SIMPLE --简单模式
GO
USE pqm
GO
DBCC SHRINKFILE(N'pqm_log' , 11, TRUNCATEONLY)
GO
USE [pqm]
GO
ALTER DATABASE pqm SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE pqm SET RECOVERY FULL --还原为完全模式
GO
优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内
即可完成。
缺点:不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。