Write on ……… failed: 112(failed to retrieve text for this error. Reason: 15105)

时间:2023-01-23 03:31:29

早上检查数据库的备份邮件时,发现一台Microsoft SQL Server 2008 R2 (SP2)数据库的Maintenance Report有错误

Write on ……… failed: 112(failed to retrieve text for this error. Reason: 15105)

在SSMS里面执行Exec YourSQLDba.Maint.ShowHistoryErrors 729脚本后,发现如下错误信息(数据库名用XXX替代):

<Exec>

<ctx>yMaint.backups</ctx>

<cmd>

backup log [XXXX_XXX]

to disk = 'E:\DB_BACKUP\XXXX_XXX_[2015-01-06_02h03m12_Tue]_logs.TRN'

with noInit, checksum, name = 'YourSQLDba:04h10: E:\DB_BACKUP\XXXX_XXX_[2015-01-06_02h03m12_Tue]_logs.TRN'

</cmd>

<err>Error 3202, Severity 16, level 1 : Write on "E:\DB_BACKUP\XXXX_XXX_[2015-01-06_02h03m12_Tue]_logs.TRN" failed: 112(failed to retrieve text for this error. Reason: 15105)</err>

<err>Error 3013, Severity 16, level 1 : BACKUP LOG is terminating abnormally.</err>

</Exec>

检查具体的错误日志信息发现如下错误信息:

Write on ……… failed: 112(failed to retrieve text for this error. Reason: 15105)

日期 2015/1/7 6:16:55 

 

日志 SQL Server (当前 - 2015/1/7 0:30:00) 

 

源 Backup 

 

消息 

 

BackupIoRequest::ReportIoError: write failure on backup device 'E:\DB_BACKUP\XXXX_XXX_[2015-01-06_02h03m12_Tue]_logs.TRN'. Operating system error 112(failed to retrieve text for this error. Reason: 15105).

 

日期 2015/1/7 6:16:55 

 

日志 SQL Server (当前 - 2015/1/7 0:30:00) 

 

源 Backup 

 

消息 

 

BACKUP failed to complete the command BACKUP LOG XXXX_XXX. Check the backup application log for detailed messages.

 

出现这个“Operating system error 112(failed to retrieve text for this error. Reason: 15105)”错误,意味着数据库事务日志备份失败,具体原因是因为备份的磁盘没有空间了,导致写入磁盘时出现错误。我们另外的一个监控磁盘告警的作业也发出了告警邮件。如下所示:

Write on ……… failed: 112(failed to retrieve text for this error. Reason: 15105)

具体原因是因为其中一个数据库的事务日志文件增长的比较厉害。导致磁盘空间被迅速消化殆尽,因为2小时一次的事务日志备份文件消耗了不少存储空间。