在从该备份集进行读取时,RESTORE 检测到在数据库 "CISDB" 中的页(0:0)上存在错误。系统断定检查已失败

Posted 郭大侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在从该备份集进行读取时,RESTORE 检测到在数据库 "CISDB" 中的页(0:0)上存在错误。系统断定检查已失败相关的知识,希望对你有一定的参考价值。

【1】错误信息

【1.1】在测试机上还原

  从主服务器上传输备份文件到测试机,发现还原报错,错误信息如下:

(1)第一次还原,直接restore with stats=10

/*

已处理百分之 10。

已处理百分之 20。

已处理百分之 30。

消息 3183,级别 16,状态 2,第 1 行

在从该备份集进行读取时,RESTORE 检测到在数据库 "CISDB" 中的页(0:0)上存在错误。

消息 3013,级别 16,状态 1,第 1 行

RESTORE DATABASE 正在异常终止。

*/
  

 

(2)第二次还原,加上了 with continue_after_error

sql server错误日志,无系统错误日志

  

 

 

 英文的具体内容如下:

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 QFE from Technical Support.

SQL Server Assertion: File: <bckioreq.cpp>, line=1375 Failed Assertion = \'0\'. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted.

External dump process return code 0x20000001.
External dump process returned no errors.

 

 

 

【1.2】在源服务器上还原成一个新库名

  

 

 

 

【2】分析

分析,要么是备份文件出了问题,要么是源数据库上出了问题,要么是备份磁盘出了问题

【2.1】源数据库有没有出问题?

dbcc checkdb了一下,没有任何问题。如果有问题,进行修复,然后再重新备份。

【2.2】备份文件出了问题?

重新备份了一个备份文件,试试是否可以还原。

【2.3】磁盘出了问题

当【2.1】没有问题时。如果【2.2】可以解决那最好。如果不能,那可能是备份文件所在磁盘有坏道坏块一类的。

如果【2.2】方法不能解决,尝试备份到其他磁盘,然后进行还原看是否可以解决。

 

以上是关于在从该备份集进行读取时,RESTORE 检测到在数据库 "CISDB" 中的页(0:0)上存在错误。系统断定检查已失败的主要内容,如果未能解决你的问题,请参考以下文章

dbms_backup_restore Package

Centos 7 backup and restore Redis data

备份的优化和调整

linux下怎么安装dump和restore

Oracle涂抹oracle学习笔记第9章RMAN说,我能恢复

快照与备份的技术