请选择 进入手机版 | 继续访问电脑版
 找回密码
 注册

QQ登录

只需一步,快速开始

青云安全服务中心

搜索
查看: 6907|回复: 0

解决SQLServer服务器ERRORLOG太大导致C盘满的故障

[复制链接]
发表于 2016-11-21 11:12:51 | 显示全部楼层 |阅读模式

今日客户打电话,说C盘满了,日志太多,登陆服务器后查看,发现sqlserver日志中有是大量的登陆错误,sqlserver的log目录中有一个ERRORLOG达到23GB,小的4GB,把C盘堆满了,立即采取以下措施:

1.打开SQL Server Management,启动查询窗口,写入语句

  1. exec sp_cycle_errorlog;
复制代码


然后点击执行,共执行6次

2.查看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中定期执行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Copyright © 2003-2019 yunsafe.com All Rights Reserved 青云安全 法律顾问:王志刚 ( 豫ICP备19043409号 )

中国 · 郑州 · 中原区 · 万达广场      服务热线:0371-67770077

QQ

 
QQ在线咨询
在线咨询QQ
285584、2998872
售前咨询热线
0371-67770077
快速回复 返回顶部 返回列表