【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程

北亞資料恢復發表於2023-04-06

資料庫資料恢復環境:

5塊硬碟組建RAID5,劃分LUN供windows伺服器使用,共有三個邏輯分割槽;

在windows伺服器內部署有Sql Server資料庫。


資料庫故障:

未知原因導致資料庫檔案丟失,涉及5個資料庫,數千個表,不能確定資料儲存位置。

資料庫檔案丟失後伺服器仍在執行,但未寫入大量資料。


資料庫資料恢復過程:

1、對故障裝置中所有硬碟以只讀方式進行完整映象備份,後續的資料分析和資料恢復操作都基於映象檔案進行,避免對

原始資料造成二次破壞。

2、基於映象檔案分析raid5,獲取raid相關資訊並利用資訊及內部資料塊資訊重組RAID。

重組RAID:

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

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

5、經過北亞企安資料恢復工程師團隊的會診,最終敲定透過掃描資料頁並提取頁內記錄的資料恢復方案來恢復資料庫資料。

6、使用北亞企安自主編寫的資料頁掃描程式掃描分割槽內資料頁並進行提取。在分別掃描兩個分割槽映象後發現系統盤內數

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

掃描資料頁:

7、Sql Server資料庫使用系統表來管理所有使用者表,在這些系統表內記錄了各表的列數、資料型別及約束資訊等。解析

Sql Server系統表過程中發現提取出的資料頁內系統表損壞,無法正常讀取資訊。與使用者方溝通後得知有備份檔案,且備

份後沒有進行過大的表結構改動,系統表可用。

8、還原備份。

還原備份:

9、提取資料庫中各表的表結構資訊。

提取表結構資訊:

10、解析表結構指令碼。將各表的列資訊存入資料庫內。

掃描指令碼檔案:

表結構資訊存入資料庫:

11、解析系統表獲取使用者表id資訊、關聯表結構與資料頁。

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

13、整理恢復結果。在此分割槽內除了存放資料庫檔案外還存放一些備份檔案,所以在匯出記錄後可能存在重複資料,北亞

企安資料恢復工程師編寫程式進行去重。

資料庫去重:

14、去重後由使用者方工程師進行對恢復出來的資料庫檔案進行檢測驗證,經過仔細查驗後確認資料完整可用。

15、由資料恢復工程師協助使用者方工程師將恢復出來的資料遷移到準備好的環境中。


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

相關文章