代码改变世界

backup log is terminating abnormally because for write on file failed: 112(error not found)

2016-11-24 11:16  潇湘隐者  阅读(780)  评论(0编辑  收藏  举报

昨天遇到一个案例,YourSQLDba做事务日志备份时失败,检查YourSQLDba输出的错误信息如下:

 

<Exec>

<ctx>yMaint.backups</ctx>

<Sql>

backup log [gewem]

to disk = 'M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN'

with noInit, checksum, name = 'YourSQLDba:16h16: M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN'

</Sql>

<err>Error 3202, Severity 16, level 2 : Write on "M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN" failed: 112(error not found)

Error 3013, Severity 16, level 1 : BACKUP LOG is terminating abnormally.

</err>

</Exec>

 

这个“failed :112”信息一出现,意味着肯定是磁盘空间不够,昨天总结的那篇博客DBCC CHECKDB 遭遇Operating system error 112(failed to retrieve text for this error. Reason: 15105) encountered其实遇到的问题也是类似的,Operating System error 112 meaning There is not enough space on the disk.

 

image

 

当时检查时,发现磁盘空间还剩下十多G,然后自己手工又将代码取出,手工执行测试,依然报这个错误:

backup log [xxxx] 
to disk = 'M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN' 
with noInit, checksum, 
NAME = 'YourSQLDba:00h10: M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN'

clipboard

 

后面检查发现这个数据库的日志文件暴增,已经超过数据文件的大小。如下截图所示,所以即使磁盘空间还有不少(19G),部署的磁盘空间告警作业亦正常,没有出现告警,但是已经不能足够支撑事务日志备份完成。所以出现了这个问题,问题有点隐蔽,不过只要细心,问题真相就能水落石出。剔除几个老旧备份以及已经上带的备份,腾出了一些磁盘空间,重新运行作业,作业执行成功!

 

clipboard