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  阅读(311)  评论(0编辑  收藏  举报

导航