妙招精准清理MSSQL数据库日志(mssql日志怎么清理)
MSSQL数据库日志是每个数据库必备的一部分,但是过多的日志会占用大量的硬盘空间,对数据库性能也有不好的影响,所以要及时清理数据库日志才能使数据库保持最佳性能。
本文将探讨MSSQL数据库日志精准清理的妙招,以方便大家可以快速有效的清理多长的MSSQL数据库日志。
首先,介绍怎样精准清理MSSQL日志。精准清理数据库日志,要清除掉在指定时间范围内所有数据库日志内容。这时可以使用MSSQL提供的清理功能来实现。使用“DBCC SHRINKFILE”命令,指定指定日志文件名和到达哪个文件地址,如下所示:
DBCC SHRINKFILE (‘LogFileName’, trim_only_log_backup, 500);
其中LogFileName指日志文件名;trim_only_log_backup指在指定时间内,所有日志备份文件都应被清除;500指要清除多大的空间,单位MB。
其次,推荐几种较为简单的清理MSSQL日志的方法,以减少硬盘空间的占用。
一种方法是使用“alter database”命令,将日志文件设置为可移动状态。将初始大小设置为一个可以接受的小值,
超出该大小的空间将会自动被MSSQL清理:
Alter Database [DatabaseName]
Modify File (Name = N’LogFileName’, FileGrowth = 100 MB, FileBytes = 100 MB);
再一种方法是使用SQL写一段脚本,以设置以auto_truncate的形式定期删除旧的日志记录。
exec sp_configure ‘allow triggers’,’1′;
GO
RECONFIGURE;
GO
CREATE TRIGGER tr_trunLog
ON master.dbo.sysdbmaintplan_logdetail
FOR DELETE
AS
BEGIN
DBCC SHRINKFILE(‘LogFileName’, 500);
END;
GO
最后,推荐使用自动维护任务,定期清理日志。SQL Server 自动维护功能可以定期删除旧的MSSQL日志文件,可以减少数据库日志的大小。
以上是精准清理MSSQL数据库日志的妙招,每个方法都可以有效减少硬盘空间的消耗,使数据库性能得到提升。