【資料庫資料恢復】透過資料頁恢復Sql Server資料庫資料的過程
資料庫資料恢復環境:
5塊磁碟組建RAID5,劃分LUN供windows伺服器使用;
windows伺服器上部署Sql Server資料庫;作業系統層面劃分了三個邏輯分割槽。
資料庫故障&初檢:
未知原因導致Sql Server資料庫檔案丟失,涉及到數個資料庫和數千張表,不能確定資料儲存位置。資料庫檔案丟失後服務
器仍然在開機執行,所幸沒有大量寫入資料。
1、將故障伺服器內所有硬碟以只讀方式進行全盤映象備份,後續資料分析和資料恢復操作都基於映象檔案進行,避免在恢
複資料的過程中對原始資料造成二次破壞。
2、基於映象檔案分析raid5底層資料,透過分析獲取到的raid相關資訊及內部資料塊資訊重組RAID。
重組RAID:
3、完成RAID重組後提取LUN內的三個邏輯分割槽的映象。
4、掃描檔案系統內丟失檔案,未找到被刪除的資料庫檔案。
5、初檢結果為資料庫檔案丟失,在檔案系統層面無法恢復資料庫資料。
資料庫資料恢復流程:
1、經過初檢後發現資料庫檔案被刪除且無法在檔案系統層面進行恢復後,北亞企安資料恢復工程師決定透過掃描資料頁,
提取頁內記錄的方式來恢復丟失的資料庫資料。
2、使用北亞企安自主開發的資料頁掃描程式掃描分割槽內資料頁並進行提取。掃描兩個分割槽映象後發現系統盤分割槽映象內的
資料頁數量極少且資料頁斷裂情況嚴重,另一分割槽內掃描到的資料頁數量較多,暫定此分割槽為資料庫檔案的儲存空間。
掃描資料頁:
3、Sql Server資料庫使用系統表來管理所有使用者表,系統表內記錄了各表的列數、資料型別及約束資訊等。在對系統表進
行解析的過程中發現提取出來的資料頁內的系統表損壞,無法正常讀取資訊。在與使用者方溝通後得知資料庫有備份檔案,
而且備份完成後也沒有對錶結構進行過大的改動,系統表可用。
4、還原備份:
5、分別提取需要恢復資料的三個庫中各表的表結構資訊。
提取表結構資訊:
6、解析表結構指令碼,將各表的列資訊存入資料庫內便於在後續的資料恢復過程中使用。
掃描指令碼檔案:
將表結構資訊存入資料庫:
7、解析系統表,獲取使用者表id資訊、關聯表結構與資料頁。
8、新建資料庫環境,使用北亞企安自主編寫的軟體解析記錄並匯入到環境內。
9、整理恢復結果。資料庫檔案儲存的分割槽內除了存放資料庫檔案外還存放若干備份檔案,所以在匯出記錄後可能存在重
複資料,需要去重。由北亞企安資料恢復工程師編寫程式進行去重。
資料庫去重:
10、處理完所有資料後交由使用者方驗證資料。使用者方工程師經過反覆查驗後確認恢復資料完整有效。將恢復出來的資料遷
移到使用者方準備好的儲存裝置中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2949536/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 伺服器資料恢復—透過拼接資料庫碎片恢復SqlServer資料庫資料的資料恢復案例伺服器資料恢復資料庫SQLServer
- 【資料庫資料恢復】sql server資料庫連線失效的資料恢復案例資料庫資料恢復SQLServer
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- 資料庫恢復過程資料庫
- 資料庫資料恢復—附加資料庫錯誤823的SQL Server資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】SQL Server資料庫磁碟空間不足的資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- 【資料庫資料恢復】SQL server資料庫被加密怎麼辦?如何恢復?資料庫資料恢復SQLServer加密
- 資料庫資料恢復-SQL SERVER資料庫MDF (NDF)或LDF損壞如何恢復資料?資料庫資料恢復SQLServer
- 資料庫資料恢復-SQL SERVER資料庫檔案大小變為“0”的資料恢復方案資料庫資料恢復SQLServer
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 【資料庫資料恢復】磁碟空間不足導致sql server錯誤的資料恢復資料庫資料恢復SQLServer
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 資料庫修復資料恢復資料庫資料恢復
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】linux系統下MYSQL資料庫資料恢復案例資料庫資料恢復LinuxMySql
- 【資料庫資料恢復】MongoDB資料庫檔案損壞的資料恢復案例資料庫資料恢復MongoDB
- 【資料庫資料恢復】SqlServer資料庫無法讀取的資料恢復案例資料庫資料恢復SQLServer
- 【北亞資料恢復】通過碎片拼接技術恢復XenServer伺服器磁碟中SQL Server資料庫資料資料恢復Server伺服器SQL資料庫
- 通過duplicat恢復資料庫資料庫
- 儲存崩潰資料恢復過程;資料恢復案例資料恢復
- 【資料庫資料恢復】ASM磁碟組掉線的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 資料庫資料恢復—NTFS分割槽損壞如何恢復SqlServer資料庫資料資料庫資料恢復SQLServer
- 【資料庫資料恢復】Oracle資料庫ASM磁碟組掉線如何恢復資料?資料庫資料恢復OracleASM
- Sybase SQL Anywhere(ASA)資料庫恢復,ASA資料恢復,資料誤刪除恢復工具ReadASADBSQL資料庫資料恢復
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 【資料庫資料恢復】MongoDB資料庫服務啟動失敗的資料恢復案例資料庫資料恢復MongoDB
- 【資料庫資料恢復】LINUX環境下ORACLE資料庫誤刪除的資料恢復資料庫資料恢復LinuxOracle
- 資料庫資料恢復—SQLserver資料庫中勒索病毒被加密怎麼恢復資料?資料庫資料恢復SQLServer加密
- MySQL 透過 binlog 恢復資料MySql