在从该备份集进行读取时,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】方法不能解决,尝试备份到其他磁盘,然后进行还原看是否可以解决。