SQL Server数据库错误日志超大原因及解决方法

哎呀,顺便说一下,我以前遇到过这种情况。
当时我们公司的SQL Server数据库的错误日志突然扩大到了这样的程度,吓死我了。
您知道,该日志文件每天最多可以扩展数十 MB。
一旦积累,硬盘空间很快就会满。
那一刻我很困惑,不知道该怎么办。

后来查了一下,发现主要有两个原因。
一种是暴力攻击,另一种是日志管理的错误配置。
当有人使用恶意软件不断尝试连接到默认 SQL Server 端口 (1 4 3 3 ) 时,就会发生暴力攻击。
每次连接失败都会在日志中留下一条记录。
有很多“用户登录失败”。

我记得有一天日志文件大小达到了2 GB,差点导致服务器崩溃。
我迅速更改了SQL Server配置,将默认端口更改为5 4 3 2 1 ,并启用防火墙仅允许特定IP的访问。
这个技巧效果很好,暴力攻击大大减少。

还有日志轮换配置。
之前我忽略了这一点,没有设置自动轮换,导致日志文件不断增长。
接下来,我手动运行 sp_cycle_errorlog 存储过程,生成新的日志文件,并删除旧的 .log 文件。
这次,日志文件不会无限增长。

此外,我还调整了日志记录级别,只记录严重的错误消息,从而减小了日志文件的大小。
还设置了磁盘空间警报。
一旦磁盘空间低于 1 0%,就会向管理员发送电子邮件提醒。

总结一下,我主要执行了以下步骤: 1 .更改默认端口,防止暴力破解。
2 . 配置日志轮转,防止日志文件无限增长。
3 . 更改日志记录级别并减小日志文件的大小。
4 . 监控磁盘空间并及早发现潜在问题。

得益于这些措施,我能够成功控制SQLServer错误日志的大小并避免服务器崩溃的风险。
嘿嘿,说起来确实很刺激,不过现在想想,只要学会了正确的方法,解决这种问题并不难。

SQL数据库日志文件可以删除吗(sqlserver删除日志文件)

等一下,我昨天看着邻居老王修自行车。
他给链条加了一点油,自行车跑得很平稳。
清除数据库日志也是一样的。
无法清洁它就像链条上的泥,你改变得越多,它就会变得越坚固。

记得去年6 月底,公司服务器突然蓝屏。
后来发现数据库日志占满了硬盘。
硬盘容量2 T,但是日志需要9 00M左右,拖慢了整个系统的速度。
当时我正在测试这个自动清理脚本。
运行十分钟后,日志直接减少到1 00M,系统立刻变快了。

创建新作业级别时必须跟踪日志名称。
我之前犯过混淆主日志和差异日志的错误。
结果我只清除了异常日志,但主日志还堆在那里。
随后,再次创建与主记录、差异记录和交易记录相关的三个作业。
每个数据库分为三个级别。
现在,它每周一凌晨 3 .3 0 自动运行,运行时间不超过五分钟。

等等,还有一件事,清洁频率需要调整。
我尝试每天清理一次,但数据库的响应下降了。
后来每三天更换一次,系统性能恢复到正常水平。
这个时间在低工作时间非常重要,比如在高速公路上不接触链条的自行车维修。

服务器硬盘还有3 0%的剩余空间。
上次清除日志是在 9 月 1 5 日,耗时 4 分 1 7 秒。
但突然我想到,如果数据库突然爆炸了,这个自动清理就不能继续下去了吗?我需要更多地考虑这个触发机制......