APP下载

SQL Server 服务自动停止

2020-01-15新疆崔良义

网络安全和信息化 2020年1期
关键词:日志服务器自动

新疆 崔良义

近日,一直运行很稳定的SQL Server 2005 数据库服务器突然发生了无法连接数据库的问题,造成单位大面积的业务用户无法登录系统。

由于情况紧急,重启数据库服务器后,系统恢复正常。但是,几个小时后,又出现了相同的故障问题,如此反复。

图1 取消启用C2 审核跟踪选项前的勾选

故障分析

根据故障时间,通过查看服务器事件日志,发现了事件ID566 的记录,提示编写审核跟踪时出错,SQL Server 即将关闭,可能原因是磁盘空间不足。

通过查看数据库磁盘空间与系统服务,发现还剩余4GB 空间,服务已停止。当再次出现系统故障后,发现仅剩1.5GB 空间,且SQL Server 服务再次自动中断了。

那么,是什么原因让数据库磁盘空间减少得如此之快了?与数据库服务自动中断又有什么关系?

在排除服务器中病毒原因后,围绕事件日志提示信息以及服务器操作变动,联想到近期因服务器等级保护制度要求,启用了SQL Server C2审核跟踪。

原来,C2 审核跟踪会审核语句和对象的所有访问,并将它们记录在数据库MSSQLData 目录下。如果审核日志文件大小达到最大限制值时,SQL Server 会关闭旧文件,并新建一个文件,将所有新的审核数据记录到新文件中。

此过程会一直持续到审核数据目录写满或关闭审核跟踪为止。如果日志目录空间不足,SQL Server 会将自身关闭,这可用来保证即便出现了磁盘错误,也不可能丢失任何审核数据,直至为审核日志释放出足够的磁盘空间并重新启动SQL Server 实例。

为验证故障原因,经检查发现数据库磁盘MSSQLData目录下确实发现大量trc 文件,单个文件大小200MB,共有近200GB 的磁盘空间。初步判断已找到罪魁祸首。

故障解决

登录到数据库服务器上,打开SQL 服务器属性,在安全性标签页下,将启用C2 审核跟踪选项前的勾选取消,如图1 所示。并删除文件夹下的全部trc 文件,从而释放了很多的磁盘空间。

由于C2 审核跟踪可以用sp_configure 激活或取消。要禁用C2 审核跟踪,就要将C2 审核模式选项值配置为0。于是,我们也可以通过命令语句禁用C2,具体命令如下:

最后,由于C2 审核跟踪的启动和禁用都要求服务重启。在重启SQL 服务后,再没有出现SQL 服务自动停止现象,故障彻底解决。

经验总结

一般情况下,SQL 数据库的C2 审核跟踪是不需要开启的,除非是网络安全要求,需要进行详细的日志记录。此时开启C2 审核之后,一定要给予足够的数据库磁盘空间,或者定时清理过期日志,并对磁盘空间进行严密监控。否则的话一旦出现磁盘空间不足,会导致SQL 服务自动停止,导致所有业务中断,造成不可估量的损失。

猜你喜欢

日志服务器自动
一名老党员的工作日志
扶贫日志
自动捕盗机
PowerTCP Server Tool
BlackJumboDog
雅皮的心情日志
2018年全球服务器市场将保持温和增长
雅皮的心情日志
让小鸭子自动转身
自动摇摆的“跷跷板”