MSSQLSERVER_3013

适用于:SQL Server

详细信息

Attribute
产品名称 SQL Server
事件 ID 3013
事件源 MSSQLSERVER
组件 SQLEngine
符号名称 DMP_ABORT
消息正文 BACKUP DATABASE 异常终止 /RESTORE DATABASE 正在异常终止。

说明

此错误是备份或还原操作意外中断时发生的一般错误。 你会看到 3013 与其他错误消息一起引发,这些错误消息提供了对备份失败原因的更具体见解。 示例包括读取或写入备份介质失败或其他意外的 Win32 API 调用失败。

原因

SQL Server中备份或还原异常终止的原因可能有很多种。 下面是常见原因的列表:

  • 磁盘空间不足
  • 备份存储设备的路径不正确
  • 备份文件/设备已由另一个程序打开
  • 备份介质设备故障或故障
  • 数据库损坏 - 如果数据库损坏,备份或还原操作可能会失败。
  • 缺少 BACKUP DATABASE、BACKUP LOG 或 CREATE DATABASE 权限,无法分别备份或还原
  • SQL Server服务帐户无法访问备份设备

用户操作

检查 SQL 错误日志中是否存在与此错误同时出现的其他消息,以获取其他信息并进行故障排除。

  • 如果磁盘空间不足,请确保要写入备份的驱动器有足够的可用空间或使用其他设备。 请参阅 错误 3203 和 3203 的示例

  • 对于不正确的文件路径,请双击检查并更正 BACKUP 或 RESTORE 命令中指定的路径和文件名。

  • 对于备份介质故障,如果要备份到磁带驱动器或其他备份设备,请确保设备正常运行且未遇到任何硬件错误。 请参阅 错误 3203 和 3203 的示例错误 3241 的示例

  • 对于数据库损坏问题,你可能会在SQL Server中观察到其他错误。 运行 DBCC CHECKDB 以识别数据库中的任何错误并解决。 有关详细信息,请参阅 排查 DBCC CHECKDB 报告的数据库一致性错误

  • 如果服务器主体帐户缺少执行备份或还原操作的权限,请确保帐户被授予这些权限。 请参阅 备份权限还原权限

  • 对于SQL Server服务帐户权限问题,请确保SQL Server服务帐户对备份设备或写入备份文件的文件系统具有读取和写入访问权限。 请参阅 备份权限

下面是与 3013 一起观察到的常见错误的示例。

错误为 3241 的示例

在这种情况下,错误 3241 随 3013 一起引发,指示备份本身存在问题。

Msg 3241, Level 16, State 0, Line 2
The media family on device 'G:\backup\ProdDB_backup.bak' is incorrectly formed. SQL Server cannot process this media family.
Msg 3013, Level 16, State 1, Line 2
RESTORE FILELIST is terminating abnormally.

解决方法:

此错误通常表示备份 () 损坏,或者存储或传输备份的介质出现故障。 查找备用备份以从不同的介质还原,或者尝试早期备份或稍后备份。 另请参阅有关 TDE 数据库的备份/还原的 KB5014298 - 修复:执行 RESTORE 数据库或还原日志期间发生错误 3241

有关更多故障排除思路,请参阅 从备份还原数据库时出现的与媒体相关的错误

包含错误 3203 和 3203 的示例

错误 3202 和 3203 是出现 I/O 相关问题时引发的备份错误。 这两个错误指示是否执行了读取或写入请求,并显示 I/O 失败导致的基础 OS 错误。 已观察到以下示例:

Msg 3203, Level 16, State 1, Line 1
Read on "G:\SQLDATA\ProductionDb.ndf" failed: 483(The request failed due to a fatal device hardware error.)
Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE is terminating abnormally.
Msg 3202, Level 16, State 1, Line 2
Write on "Y:\SQLDATA\ProductionDb.bak" failed: 1117(The request could not be performed because of an I/O device error.)
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.
Msg 3202, Level 16, State 1, Line 14
Write on "\\BackupServer\Share\ProdDb.bak" failed: 112(There is not enough space on the disk.)
Msg 3013, Level 16, State 1, Line 14
BACKUP DATABASE is terminating abnormally.

解决方法:

  • OS 483 和 1117 的示例指示 I/O 设备失败。 检查存储介质是否出现故障或损坏。 查看系统事件日志、硬件配置和日志,并与硬件管理员和供应商合作,解决存储备份的介质的任何问题。 下面是可在系统事件日志中找到的消息示例,其中指示需要解决的 I/O 问题:

    Warning PM,Disk,153,None,The IO operation at logical block address 0xe90525a0 for Disk 3 (PDO name: \Device\00000017) was retried.
    
  • 如果出现指示空间问题的 OS 错误 112,请确保在发送备份的本地或远程存储上有足够的磁盘空间。 如果有足够的空间,请确保存储媒体的可靠性。

使用 3624 的示例

在某些情况下,错误 3013 可能与系统断言一起引发。 如果备份失败并出现断言,则main重点是处理断言本身。 下面是观察到的问题的示例:

Msg 3013, Sev 16, State 1, Line 1
VERIFY DATABASE is terminating abnormally.
Msg 3624, Sev 20, State 1, Line 1
A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a Hotfix from Technical Support.
Error: 17066, Severity: 16, State: 1.
SQL Server Assertion: File:     mediaRead.cpp:429 Expression:     !m_ActiveConsumptionList.IsEmpty () || !m_ActiveReads.IsEmpty () || !m_DecodeOutputQ.IsEmpty () || (CFeatureSwitchesMin::GetCurrentInstance ()->FEnableCheckingActiveDecodeQueueEnabled () && !m_ActiveDecodeInput.IsEmpty ()) SPID:         74 Process ID:     25440

解决方法:

查看SQL Server错误日志,并使用本文中概述的方法MSSQLSERVER_3624对断言失败进行故障排除:

错误 4303 的示例

此示例演示了如何还原失败并引发错误 3013 的事务日志序列。 特定错误 4303 指示在此还原之前缺少更多事务日志还原,或者事务日志备份文件已损坏。 例如,LSN = 4294967295429496729565535似乎不是有效的 LSN,这可能是备份文件或介质损坏的结果。

Msg 4303, Level 16, State 1, Line 3
The roll forward start point is now at log sequence number (LSN) 8177105000003941300003. Additional roll forward past LSN 4294967295429496729565535 is required to complete the restore sequence.
Msg 3013, Level 16, State 1, Line 3
RESTORE DATABASE is terminating abnormally.

解决方法:

如果遇到错误(如 4303 和 3013),请查找其他用于还原的良好备份。 此外,检查放置备份的存储介质的稳定性,并根据需要进行修复。

另请参阅