MSSQL日志增大:超快速体验(mssql日志增大速度快)
MSSQL日志增大是一个常见的让数据库管理人员困惑的问题.日志文件主要用于记录MSSQL事务中的更改操作,一旦你的MSSQL日志停止自动释放,MSSQL就会继续记录这些更改,最终导致日志文件越来越大。
在我这种情况下,我遇到了MSSQL日志文件被清理过程非常缓慢的问题.我使用了以下代码快速释放日志文件:
Backup log XXX with truncate_only
go
DBCC SHRINKFILE (N’XXX_log’, 1)
GO
上面的第一行代码可以使事务日志文件“XXX_Log”被成功备份,第二行代码可以缩减事务日志的文件大小,缩减的容量可以不断减小,最终让事务日志的文件变得更轻。
另外,我将日志缩减操作添加到MSSQL定时任务中,设置一个每日午夜运行一次,以便定期清理日志文件。为此,我使用以下SQL语句:
EXEC sp_add_job
@job_name = ‘Daily_ShrinkLog’,
@description = ‘Clean MSSQL Log files’,
@category_name = ‘Maintenance’,
@enabled = 1
EXEC sp_add_jobstep
@job_name = ‘Daily_ShrinkLog’,
@step_name = ‘Shrink Logs’,
@subsystem = ‘TSQL’,
@command = ‘Backup log XXX with truncate_only
go
DBCC SHRINKFILE (N’XXX_log’, 1)
GO’,
@retry_attempts = 4,
@retry_interval = 5
EXEC sp_add_jobschedule
@job_name = ‘Daily_ShrinkLog’,
@name = ‘Daily_ShrinkLog_Sched’,
@freq_type = 4,
@freq_interval = 1,
@freq_subday_type = 8,
@freq_subday_interval = 0,
@freq_recurrence_factor = 1,
@active_start_date = 20120605,
@active_end_date = 99991231,
@active_start_time = 0,
@active_end_time = 235959
通过以上方法,MSSQL数据库管理员可以快速处理MSSQL日志增大的问题,而无需重新安装SQL Server和删除事务日志文件。