LogWriter: Operating system error 21(error not found) encountered
一台老旧的数据库服务器(sql server 2005)突然报如下错误,而且数据库处于recovery pending ,检查错误日志,发现这个错误是突然出现的。没有任何其它人为误操作导致
date 2019/4/15 10:57:47
log sql server (archive #1 - 2019/4/15 11:16:00)
source spid2s
message
logwriter: operating system error 21(error not found) encountered.
期间收到大量作业的告警,作业运行失败报“unable to connect to sql server '(local)'. the step failed.”,继续检查错误日志,就能看到都是对应数据库的事务日志报这个错误:
关于“operating system error 21”这个错误,一度以为是硬件错误引起的,但是系统管理员反馈底层硬件正常,也未做任何操作。检查系统日志,只发现有一些驱动报错的信息,系统管理员确认这个不会影响磁盘。
于是我就重启了一下sql server 服务,这个错误就消失了,问题就解决了。网上也有不少关于这个operating system error 21”这个错误(请见参考资料),都是通过重启sql server服务或将数据库offline,然后online解决问题。重启过后,对数据库做了一下dbcc checkdb也没有任何问题。
第一次遇到这种问题,虽然通过重启解决了问题,但是感觉稀里糊涂,莫名其妙:不清楚问题产生的根源是什么。为什么重启sql server服务就能解决问题呢?特此记录一下这个问题。留待以后能解决!
参考资料:
https://serverfault.com/questions/104025/dbcc-checkdb-the-operating-system-returned-error-21the-device-is-not-ready
上一篇: java基础记录(一):开发环境的配置
下一篇: Redis 之深入江湖-复制原理