妙招精准清理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数据库日志的妙招,每个方法都可以有效减少硬盘空间的消耗,使数据库性能得到提升。


数据运维技术 » 妙招精准清理MSSQL数据库日志(mssql日志怎么清理)