【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復

北亞資料恢復發表於2022-06-09

資料庫資料恢復環境:

5塊2T硬碟組成的RAID5,劃分LUN供windows伺服器使用;

windows伺服器內裝有Sql Server資料庫;

儲存空間內共有三個邏輯分割槽大小分別為:500G、800G、2.3T。


資料庫故障:

未知原因的資料庫檔案丟失,涉及到5個資料庫約6000張表,不能確定資料儲存位置。資料庫檔案丟失後伺服器仍處於開機

狀態,但並未寫入大量資料。管理員聯絡北亞資料恢復中心進行資料恢復。


資料庫故障檢測:

1、資料恢復工程師利用分析提取出來的RAID資訊及內部資料塊資訊重組RAID。


重組RAID


2、提取LUN內三個分割槽映象。

3、掃描檔案系統內丟失檔案,未找到被刪除的資料庫檔案,資料庫檔案丟失,無法通過檔案系統層面恢復資料。



資料庫資料恢復過程:

1、經過檢測後判定資料庫檔案丟失且無法恢復,資料恢復工程師只能通過掃描資料頁,提取頁內記錄的方式進行資料恢復。

2、使用北亞資料恢復中心自主研發的資料頁掃描程式掃描分割槽內資料頁並提取。掃描兩個分割槽映象後發現系統盤分割槽內數

據頁數量極少且資料頁斷裂情況嚴重,另一分割槽內掃描到資料頁數量較多,暫定此分割槽為資料庫檔案儲存空間。


掃描資料頁


3、重組系統表。Sql Server資料庫使用系統表來管理所有使用者表,系統表記錄了各表的列數、資料型別及約束資訊等。解

析系統表過程中發現提取出的資料頁內系統表損壞,無法正常讀取資訊。資料恢復工程師與管理員溝通後,得知有備份檔案

且備份完成後沒有大量改動表結構,系統表可用。

4、還原備份。


還原備份


5、分別提取庫中各表表結構資訊。


提取表結構資訊


6、解析表結構指令碼。將各表的列資訊存入資料庫內便於後續使用。


掃描指令碼檔案


表結構資訊存入資料庫


7、解析系統表獲取使用者表id資訊、關聯表結構與資料頁。(為保護隱私,後續步驟涉及使用者表表名及資料頁內資料部分均

未截圖)

8、新建資料庫,使用北亞自主編寫的軟體解析記錄並匯入到資料恢復環境內。

9、整理恢復結果。在此分割槽內除資料庫檔案外還存有若干備份檔案,匯出記錄後可能存在重複資料,必須去重。資料恢復

工程師編寫SQL儲存過程進行去重。


資料庫去重


10、驗證資料。管理員在查驗過資料後表示資料沒有問題,移交資料到管理員準備好的儲存裝置,本次資料恢復成功。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2899591/,如需轉載,請註明出處,否則將追究法律責任。

相關文章