MSSQL清除日志文件:一招制敌(mssql 清除LOG)

MSSQL清除日志文件一直都是日常数据库维护操作中重要的一环,可以有效减少数据库服务器端的IO压力和带来更好的性能。本文介绍了MSSQL清除日志文件的基本过程,以及一招制敌的重要性和DIY的步骤。

MSSQL清除日志文件通常遵循如一般步骤:

(1)使用DBCC Shrinkfile命令空出存储空间,此处为该步骤代码:DBCC SHRINKFILE ( , EMPTYFILE )

(2)如果此前日志文件存储空间缩减,将使用 ALTER DATABASE LOGFILE 调整;

代码:ALTER DATABASE MODIFY FILE ( NAME = N”, SIZE = 16mb);

(3)之后执行DBCC或CHECKPOINT命令,作用是将事务日志中的内容刷新到数据库文件,减少日志文件的大小:

回滚段:DBCC SHRINKFILE ( , 1);

检查点:CHECKPOINT;

(4)最后,调整日志文件的大小,使其占用的存储空间为最小:

DBCC SHRINKFILE ( ,1);

日志文件的清理并不是数据库维护的单一操作,而是一系列细节操作的结果,而且它还具有改善系统性能和减轻IO压力的功效,这对于在数据库部署上大规模变动(比如数据迁移)更是必不可少。

正如上文所述,要将MSSQL日志文件保持在最小可以极大改善系统性能,但是手动删除又并非法律建议,那么你可以考虑DIY方案,减轻被“痛苦”的痛苦。

建议你使用SQL脚本去实现定期清理日志文件的任务,这里给出的是一个MpSQL数据库管理的例子:

USE [master]

GO

DECLARE @fileName VARCHAR(260)

SET @fileName = ‘D:\data\AdventureWorks 2014.ldf’

EXECUTE master.sys.sp_executesql N’DBCC SHRINKFILE(”’+ @fileName + ”’,1)’

GO

该语句会把“d:\data\AdventureWorks 2014.ldf”作为变量,即使你换了日志文件也不需要重新调整任何参数。

总之,MSSQL清除日志文件一方面可以大大提高服务器性能,另一方面也是安全的,但是DIY的任务还是需要谨慎,以防产生可能的意外风险。


数据运维技术 » MSSQL清除日志文件:一招制敌(mssql 清除LOG)