解决供水SQLServer服务器ERRORLOG太大导致C盘满的故障
今日供水打电话说C盘满了日志太多登陆后查看发现sq lserver日志中有是大量的登陆错误 sqlserver的log目录中有一个ERRORLOG达到23GB最小的4GB把C盘堆满了立即采取以下措施
1.登陆虚拟化平台对此虚拟服务器进行快照
2.用户需要保留此文件所以将LOG目录整体备份到D盘
3.打开SQL Server Management启动查询窗口写入语句execsp_cycle_errorlog;
然后点击执行共执行6次
3.查看ERRORLOG文件 已经是新的了 C盘腾出了30GB空间系统恢复正常
以下为本次故障解决的参考资料
默认情况下 sql server保存7个ErrorLog文件名为
ErrorLog
ErrorLog. 1
ErrorLog.2
ErrorLog.3
ErrorLog.4
ErrorLog.5
ErrorLog.6
1.远程服务器中数据库的D盘空间不足。查看之后就只有一个数据库,一个sqlServer05.一个数据库XX文件夹。一个VS文件夹。
可以转移的文件都已经作了转移。然后查看后发现sqlServer05文件夹log下面有很多错误日志
2.这时候不可以随便全部删掉。因为默认情况下 SQL Server保存7个ErrorLog文件名为
ErrorLog
ErrorLog. 1
ErrorLog.2
ErrorLog.3
ErrorLog.4
ErrorLog.5
ErrorLog.6
3.每次重启动SQL Server时这些日志文件都如下循环
删除ErrorLog.6文件中的所有数据并创建一个新的ErrorLog文件。
上个ErrorLog文件中的所有数据被写入到ErrorLog. 1文件中。
上个ErrorLog. 1文件中的所有数据被写入到ErrorLog.2文件中。
上个ErrorLog.2文件中的所有数据被写入到ErrorLog.3文件中。
上个ErrorLog.3文件中的所有数据被写入到ErrorLog.4文件中。
上个ErrorLog.4文件中的所有数据被写入到ErrorLog.5文件中。
上个ErrorLog.5文件中的所有数据被写入到ErrorLog.6文件中。
4.这时候只要在数据库查询窗口中对指令的数据库执行6次sp_cycle_errorlog命令。就可以清理垃圾数据,填出很多空间。
5.像我就一次性填出了18G的空间。
注意事项 旧的ErrorLog文件中的数据将被覆盖如果必须保存旧的ErrorLog文件中的数据则可将这些旧的ErrorLog文件复制到某个外部存储介质中。
在APACS OS版本7.0中可从SQL Server Management St io运
行sp_cycle_errorlog存储过程。
所以需要定期能切换写入error log .一般可以使用DBCC errorlog命令来操作。
Exec('DBCC ErrorLog' ) 或exec sp_cycle_errorlog
或者可以通过以下命令将sp放在Job中定期执行。