SQL SERVER 2008 体积增大
转自:https://forum.huawei.com/enterprise/zh/thread-324093.html
现象描述
SQLServer会产生大量的异常日志。错误日志过大,导致C盘空间不足。
原因分析
数据库默认情况下会使用7个ERRORLOG、ERRORLOG.1…ERRORLOG.6文件循环写错误日志,在DB数据库服务器出现异常状况下,这些文件会越来越大导致C盘空间不足,需要定时清理。
处理过程
SQL Server 的errorlog机制是,若服务未重启的情况下,系统会循环将错误日志写入到ERRORLOG的这7个(数量可配置,范围为7-99)文件当中。SQL Server提供了一个 ‘sp_cycle_errorlog’ 的存储过程。该存储过程每执行一次,会创建一个新的ERRORLOG的日志,并顺序将旧的ERRORLOG覆盖,最旧的ERRORLOG日志将会被删除。
利用SQL Server Agent中的JOB任务,将这个存储过程周期执行。可以解决ERRORLOG过快增长的问题,如下是具体方法。
1、在 SQL Server Agent 如下图建立 名为“Clear Errlor Log”的Job任务。
2、在找新Job的“step”页中,按照如下图设置要执行的存储过程“EXEC sp_cycle_errorlog”
(执行7次是为了把所有错误日志文件都清理一遍)
3、在“schedule”页签中设置任务执行的周期
4、点击“OK”保存设置
5、确保 SQL Server Agent 为运行状态。且SQL Server Agent服务为开机自动运行。
posted on 2019-11-11 10:12 Zane.zhang 阅读(331) 评论(0) 编辑 收藏 举报