【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】方法不能解決,嘗試備份到其他磁盤,然后進行還原看是否可以解決。