DBCC CHECKDB 遭遇Operating system error 112(failed to retrieve text for this error. Reason: 15105) encountered
2016-11-22 11:56 潇湘隐者 阅读(1212) 评论(4) 编辑 收藏 举报我们一个SQL Server服务器在执行YourSQLDBa的作业YourSQLDba_FullBackups_And_Maintenance时遇到了错误:
Exec YourSQLDba.Maint.ShowHistoryErrors @JobNo = 1227
<row>
<ctx>yMaint.IntegrityTesting</ctx>
<Sql>DBCC checkDb('xxxx') </Sql>
<err>In case of non-completion of this command check SQLServer Error Log at 2016-11-17 00:00:03.327 for Spid 67</err>
</row>
错误日志里面有下面一些错误信息,如下所示:
另外,我们的磁盘空间告警作业也收到了大量的磁盘空间告警邮件:
其实在白天的时候,该服务器就已经有磁盘空间告警邮件发出,由于系统管理员想在周末做存储扩容。所以在晚上数据库做DBCC CHECKDB时,就由于磁盘空间不足,遭遇了这个错误。DBCC CHECKDB时会生成数据库快照,而数据库的快照文件是基于稀疏文件(Sparse File),而当快照创建后,随着对源数据库的改变逐渐增多,稀疏文件也会慢慢增长。所以,当磁盘空间不足时,就会遇到下面错误信息:
1:Write to sparse file 'xxxxxxx.ndf:MSSQL_DBCC10' failed due to lack of disk
2:SSQL_DBCC10: Operating system error 112(failed to retrieve text for this error. Reason: 15105) encountered
此时由于磁盘空间不足,就会导致DBCC CHECKDB停止。关于DBCC CHECKDB耗用大量额外磁盘空间,可以参考下面这篇博客。
CHECKDB From Every Angle: Why would CHECKDB run out of space?
参考资料:
http://www.sqlskills.com/blogs/paul/checkdb-from-every-angle-why-would-checkdb-run-out-of-space/

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