代码改变世界

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

  潇湘隐者  阅读(795)  评论(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

编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示