一個備份集出錯的恢復例子
/******************************************
嘗試修復,出現錯誤
*******************************************/
restore database th114_oa
from disk='D:\DESK\2010-02-05.bak'
with move 'TH114_OA_Data' to 'd:\TH114_OA_Data.MDF',
move 'TH114_OA_Log' to 'd:\TH114_OA_Log.ldf',
stats
/*
已處理百分之 10。
已處理百分之 20。
已處理百分之 30。
消息 3183,級別 16,狀態 2,第 1 行
在從該備份集進行讀取時,RESTORE 檢測到在數據庫 "th114_oa" 中的頁(27088:-498182872)上存在錯誤。
消息 3013,級別 16,狀態 1,第 1 行
RESTORE DATABASE 正在異常終止。
*/
/******************************************
使用CONTINUE_AFTER_ERROR選項,能夠恢復,但仍有一致性錯誤
*******************************************/
restore database th114_oa
from disk='D:\DESK\2010-02-05.bak'
with move 'TH114_OA_Data' to 'd:\TH114_OA_Data.MDF',
move 'TH114_OA_Log' to 'd:\TH114_OA_Log.ldf',
CONTINUE_AFTER_ERROR ,replace,
stats
/*
已處理百分之 10。
已處理百分之 20。
已處理百分之 30。
已處理百分之 40。
已處理百分之 50。
已處理百分之 60。
已處理百分之 70。
已處理百分之 80。
已處理百分之 90。
已處理百分之 100。
已為數據庫 'th114_oa',文件 'TH114_OA_Data' (位於文件 1 上)處理了 5648 頁。
已為數據庫 'th114_oa',文件 'TH114_OA_Log' (位於文件 1 上)處理了 1 頁。
正在將數據庫 'th114_oa' 從版本 539 轉換為當前版本 655。
數據庫 'th114_oa' 正在從版本 539 升級到版本 551。
數據庫 'th114_oa' 正在從版本 551 升級到版本 552。
數據庫 'th114_oa' 正在從版本 552 升級到版本 611。
數據庫 'th114_oa' 正在從版本 611 升級到版本 621。
數據庫 'th114_oa' 正在從版本 621 升級到版本 622。
數據庫 'th114_oa' 正在從版本 622 升級到版本 625。
數據庫 'th114_oa' 正在從版本 625 升級到版本 626。
數據庫 'th114_oa' 正在從版本 626 升級到版本 627。
數據庫 'th114_oa' 正在從版本 627 升級到版本 628。
數據庫 'th114_oa' 正在從版本 628 升級到版本 629。
數據庫 'th114_oa' 正在從版本 629 升級到版本 630。
數據庫 'th114_oa' 正在從版本 630 升級到版本 631。
數據庫 'th114_oa' 正在從版本 631 升級到版本 632。
數據庫 'th114_oa' 正在從版本 632 升級到版本 633。
數據庫 'th114_oa' 正在從版本 633 升級到版本 634。
數據庫 'th114_oa' 正在從版本 634 升級到版本 635。
數據庫 'th114_oa' 正在從版本 635 升級到版本 636。
數據庫 'th114_oa' 正在從版本 636 升級到版本 637。
數據庫 'th114_oa' 正在從版本 637 升級到版本 638。
數據庫 'th114_oa' 正在從版本 638 升級到版本 639。
數據庫 'th114_oa' 正在從版本 639 升級到版本 640。
數據庫 'th114_oa' 正在從版本 640 升級到版本 641。
數據庫 'th114_oa' 正在從版本 641 升級到版本 642。
數據庫 'th114_oa' 正在從版本 642 升級到版本 643。
數據庫 'th114_oa' 正在從版本 643 升級到版本 644。
數據庫 'th114_oa' 正在從版本 644 升級到版本 645。
數據庫 'th114_oa' 正在從版本 645 升級到版本 646。
數據庫 'th114_oa' 正在從版本 646 升級到版本 647。
數據庫 'th114_oa' 正在從版本 647 升級到版本 648。
數據庫 'th114_oa' 正在從版本 648 升級到版本 649。
數據庫 'th114_oa' 正在從版本 649 升級到版本 650。
數據庫 'th114_oa' 正在從版本 650 升級到版本 651。
數據庫 'th114_oa' 正在從版本 651 升級到版本 652。
數據庫 'th114_oa' 正在從版本 652 升級到版本 653。
數據庫 'th114_oa' 正在從版本 653 升級到版本 654。
數據庫 'th114_oa' 正在從版本 654 升級到版本 655。
檢測到該備份集損壞。
RESTORE WITH CONTINUE_AFTER_ERROR 成功完成,但遇到了一些損壞。數據庫中可能存在不一致的地方。
RESTORE DATABASE 成功處理了 5649 頁,花費 2.425 秒(18.196 MB/秒)。
*/
/******************************************
DBCC 不報一致性錯誤,但出現其他問題,搞不懂,但可以查詢表數據
*******************************************/
alter database th114_oa set single_user
dbcc checkdb('th114_oa',repair_allow_data_loss)
/*
有些錯誤看起來是沒辦法修復了,估計是跟加密有關
*/
/******************************************
重新備份
*******************************************/
backup database th114_oa
to disk='d:\th114_oa_ok.bak'
with stats
/*
已處理百分之 10。
已處理百分之 20。
已處理百分之 31。
已處理百分之 40。
已處理百分之 50。
已處理百分之 60。
已處理百分之 70。
已處理百分之 81。
已處理百分之 90。
已為數據庫 'th114_oa',文件 'TH114_OA_Data' (位於文件 1 上)處理了 6248 頁。
已處理百分之 100。
已為數據庫 'th114_oa',文件 'TH114_OA_Log' (位於文件 1 上)處理了 2 頁。
BACKUP DATABASE 成功處理了 6250 頁,花費 2.555 秒(19.110 MB/秒)。
*/
/******************************************
驗證備份的有效性,看起來是有效的。
*******************************************/
restore verifyonly from disk='d:\th114_oa_ok.bak'
/*
文件 1 上的備份集有效。
*/
