Sql Server資料庫檔案丟失的恢復方法
故障描述:
5塊2T硬碟組建RAID5,劃分LUN供windows伺服器使用。在windows伺服器內裝有Sql Server2008資料庫。儲存空間內共有三個邏輯分割槽,大小分別為500G、800G、2.3T。資料庫檔案丟失,主要涉及五個資料庫,表個數約為6000個左右。丟失原因未知,且不能確定資料儲存位置。三個資料庫的大小分別為8G、15G、20G。在檔案丟失後伺服器仍處於開機狀態,但並未寫入大量資料。
初檢流程:
1、使用RAID資訊及內部資料塊資訊重組RAID。
重組RAID
2、提取LUN內三個分割槽映象。
3、掃描檔案系統內丟失檔案,未找到被刪除資料庫檔案。
4、初檢結果為資料庫檔案丟失,透過檔案系統角度無法恢復。
恢復流程:
1、制定恢復方案。在資料庫檔案被刪除且判定為無法恢復檔案後,只能透過掃描資料頁,並提取頁內記錄的方式進行恢復。
2、使用北亞自主編資料頁掃描程式掃描分割槽內資料頁並提取。在分別掃描兩個分割槽映象後發現500G系統盤內資料頁數量極少且資料頁斷裂情況嚴重,另一分割槽內掃描到資料頁個數較多。暫定此分割槽為資料庫檔案儲存空間。
掃描資料頁
3、重組系統表。Sql Server資料庫使用系統表來管理所有使用者表,在這些系統表內記錄了各表的列數、資料型別及約束資訊等。解析系統表過程中發現提取出的資料頁內系統表損壞,無法正常讀取資訊。在與客戶溝通後得知有備份檔案,且備份完成後沒有大量改動表結構,系統表可用。
4、還原備份。
還原備份
5、分別提取三個庫中各表表結構資訊
提取表結構資訊
6、解析表結構指令碼。將各表的列資訊存入資料庫內便於後續使用。
掃描指令碼檔案
表結構資訊存入資料庫
7、解析系統表獲取使用者表id資訊、關聯表結構與資料頁。(為保護客戶隱私,後續步驟涉及使用者表表名及資料頁內資料部分均未截圖)
8、新建資料庫,使用北亞自主編寫軟體解析記錄並匯入到恢復環境內。
9、整理恢復結果。在此分割槽內除資料庫檔案外還存有備份檔案若干,所以在匯出記錄後可能存在重複資料,必須去重。編寫SQL儲存過程進行去重。
資料庫去重
10、客戶驗證資料。客戶在查驗過資料後表示資料可以接受,移交資料到客戶儲存裝置,恢復成功。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2216075/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- DATA GUARD主庫丟失資料檔案的恢復(3)
- DATA GUARD主庫丟失資料檔案的恢復(1)
- DATA GUARD主庫丟失資料檔案的恢復(2)
- 電腦檔案丟失資料恢復資料恢復
- 【資料庫資料恢復】mdb_catalog.wt檔案丟失的MongoDB資料恢復案例資料庫資料恢復MongoDB
- 資料庫資料恢復—MongoDB資料庫檔案丟失,啟動報錯的資料恢復案例資料庫資料恢復MongoDB
- MongoDB資料庫報錯,資料庫檔案丟失資料恢復案例MongoDB資料庫資料恢復
- 資料庫資料恢復-SQL SERVER資料庫檔案大小變為“0”的資料恢復方案資料庫資料恢復SQLServer
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- chkdsk 後資料丟失的恢復方法
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 【北亞資料恢復】MongoDB資料遷移檔案丟失的MongoDB資料恢復案例資料恢復MongoDB
- 【伺服器資料恢復】xfs檔案系統資料丟失的資料恢復案例伺服器資料恢復
- macOS Big Sur系統如何恢復丟失的資料檔案?Mac
- 【資料庫資料恢復】sql server資料庫連線失效的資料恢復案例資料庫資料恢復SQLServer
- 剪下的檔案還能恢復嗎,恢復剪貼丟失的檔案
- Sqlserver系統資料庫和使用者資料庫日誌檔案全部丟失的恢復SQLServer資料庫
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- SQL SEVER 缺少LOG檔案資料庫恢復SQL資料庫
- 資料庫資料恢復—附加資料庫錯誤823的SQL Server資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】SQL Server資料庫磁碟空間不足的資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】LINUX EXT3檔案系統下ORACLE資料庫誤操作導致資料丟失的資料恢復案例資料庫資料恢復LinuxOracle
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- 丟失的隨身碟檔案如何恢復?
- 【資料庫資料恢復】SQL server資料庫被加密怎麼辦?如何恢復?資料庫資料恢復SQLServer加密
- 【資料庫資料恢復】透過資料頁恢復Sql Server資料庫資料的過程資料庫資料恢復SQLServer
- 【虛擬機器資料恢復】Hyper-V虛擬化檔案丟失的資料恢復案例虛擬機資料恢復
- 硬碟資料丟失如何恢復?硬碟
- 分割槽丟失資料恢復資料恢復
- 檔案丟失不用怕:超實用的Mac資料恢復軟體!Mac資料恢復
- 硬碟資料丟失原因和解決方案/資料恢復方法硬碟資料恢復
- u盤資料丟失怎麼恢復?有效的恢復方法在這裡
- SQL Server資料庫恢復常見問題SQLServer資料庫
- 資料庫資料恢復-SQL SERVER資料庫MDF (NDF)或LDF損壞如何恢復資料?資料庫資料恢復SQLServer
- 伺服器資料丟失了怎麼恢復/分割槽丟失恢復教程伺服器
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 【伺服器資料恢復】SAN LUN對映出錯導致檔案系統資料丟失的資料恢復案例伺服器資料恢復