數(shù)據(jù)庫數(shù)據(jù)恢復環(huán)境:
5塊磁盤組建RAID5,劃分LUN供windows服務器使用;
windows服務器上部署Sql Server數(shù)據(jù)庫;操作系統(tǒng)層面劃分了三個邏輯分區(qū)。
數(shù)據(jù)庫故障&初檢:
未知原因導致Sql Server數(shù)據(jù)庫文件丟失,涉及到數(shù)個數(shù)據(jù)庫和數(shù)千張表,不能確定數(shù)據(jù)存儲位置。數(shù)據(jù)庫文件丟失后服務器仍然在開機運行,所幸沒有大量寫入數(shù)據(jù)。
1、將故障服務器內所有硬盤以只讀方式進行全盤鏡像備份,后續(xù)數(shù)據(jù)分析和數(shù)據(jù)恢復操作都基于鏡像文件進行,避免在恢復數(shù)據(jù)的過程中對原始數(shù)據(jù)造成二次破壞。
2、基于鏡像文件分析raid5底層數(shù)據(jù),通過分析獲取到的raid相關信息及內部數(shù)據(jù)塊信息重組RAID。
重組RAID:
北亞企安數(shù)據(jù)恢復——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復
3、完成RAID重組后提取LUN內的三個邏輯分區(qū)的鏡像。
4、掃描文件系統(tǒng)內丟失文件,未找到被刪除的數(shù)據(jù)庫文件。
5、初檢結果為數(shù)據(jù)庫文件丟失,在文件系統(tǒng)層面無法恢復數(shù)據(jù)庫數(shù)據(jù)。
數(shù)據(jù)庫數(shù)據(jù)恢復流程:
1、經(jīng)過初檢后發(fā)現(xiàn)數(shù)據(jù)庫文件被刪除且無法在文件系統(tǒng)層面進行恢復后,北亞企安數(shù)據(jù)恢復工程師決定通過掃描數(shù)據(jù)頁,提取頁內記錄的方式來恢復丟失的數(shù)據(jù)庫數(shù)據(jù)。
2、使用北亞企安自主開發(fā)的數(shù)據(jù)頁掃描程序掃描分區(qū)內數(shù)據(jù)頁并進行提取。掃描兩個分區(qū)鏡像后發(fā)現(xiàn)系統(tǒng)盤分區(qū)鏡像內的數(shù)據(jù)頁數(shù)量極少且數(shù)據(jù)頁斷裂情況嚴重,另一分區(qū)內掃描到的數(shù)據(jù)頁數(shù)量較多,暫定此分區(qū)為數(shù)據(jù)庫文件的存儲空間。
掃描數(shù)據(jù)頁:
北亞企安數(shù)據(jù)恢復——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復
3、Sql Server數(shù)據(jù)庫使用系統(tǒng)表來管理所有用戶表,系統(tǒng)表內記錄了各表的列數(shù)、數(shù)據(jù)類型及約束信息等。在對系統(tǒng)表進行解析的過程中發(fā)現(xiàn)提取出來的數(shù)據(jù)頁內的系統(tǒng)表損壞,無法正常讀取信息。在與用戶方溝通后得知數(shù)據(jù)庫有備份文件,而且備份完成后也沒有對表結構進行過大的改動,系統(tǒng)表可用。
4、還原備份:
北亞企安數(shù)據(jù)恢復——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復
5、分別提取需要恢復數(shù)據(jù)的三個庫中各表的表結構信息。
提取表結構信息:
北亞企安數(shù)據(jù)恢復——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復
6、解析表結構腳本,將各表的列信息存入數(shù)據(jù)庫內便于在后續(xù)的數(shù)據(jù)恢復過程中使用。
掃描腳本文件:
北亞企安數(shù)據(jù)恢復——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復
將表結構信息存入數(shù)據(jù)庫:
北亞企安數(shù)據(jù)恢復——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復
7、解析系統(tǒng)表,獲取用戶表id信息、關聯(lián)表結構與數(shù)據(jù)頁。
8、新建數(shù)據(jù)庫環(huán)境,使用北亞企安自主編寫的軟件解析記錄并導入到環(huán)境內。
9、整理恢復結果。數(shù)據(jù)庫文件存儲的分區(qū)內除了存放數(shù)據(jù)庫文件外還存放若干備份文件,所以在導出記錄后可能存在重復數(shù)據(jù),需要去重。由北亞企安數(shù)據(jù)恢復工程師編寫程序進行去重。
數(shù)據(jù)庫去重:
北亞企安數(shù)據(jù)恢復——SQL SERVER數(shù)據(jù)庫數(shù)據(jù)恢復
10、處理完所有數(shù)據(jù)后交由用戶方驗證數(shù)據(jù)。用戶方工程師經(jīng)過反復查驗后確認恢復數(shù)據(jù)完整有效。將恢復出來的數(shù)據(jù)遷移到用戶方準備好的存儲設備中。
審核編輯:湯梓紅
-
服務器
+關注
關注
12文章
9331瀏覽量
86131 -
SQL
+關注
關注
1文章
775瀏覽量
44272 -
數(shù)據(jù)恢復
+關注
關注
10文章
587瀏覽量
17662 -
數(shù)據(jù)庫
+關注
關注
7文章
3852瀏覽量
64724
發(fā)布評論請先 登錄
相關推薦
虛擬化數(shù)據(jù)恢復—誤還原快照的數(shù)據(jù)恢復案例
Devart: dbForge Compare Bundle for SQL Server—比較SQL數(shù)據(jù)庫最簡單、最準確的方法
SqlServer數(shù)據(jù)恢復—SqlServer數(shù)據(jù)庫數(shù)據(jù)恢復案例
![SqlServer<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—SqlServer<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例](https://file1.elecfans.com/web2/M00/AD/00/wKgZomU_TAiAULRtAAEKTBEQ2Pg592.png)
數(shù)據(jù)庫數(shù)據(jù)恢復—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復流程
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—Mysql<b class='flag-5'>數(shù)據(jù)庫</b>表記錄<b class='flag-5'>丟失</b>的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>流程](https://file.elecfans.com/web2/M00/7B/26/pYYBAGNzCiiANj77AAH4iOB3xKM259.png)
數(shù)據(jù)庫數(shù)據(jù)恢復—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復案例
數(shù)據(jù)庫數(shù)據(jù)恢復—通過拼接數(shù)據(jù)庫碎片恢復SQLserver數(shù)據(jù)庫
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—通過拼接<b class='flag-5'>數(shù)據(jù)庫</b>碎片<b class='flag-5'>恢復</b>SQLserver<b class='flag-5'>數(shù)據(jù)庫</b>](https://file1.elecfans.com/web1/M00/F4/07/wKgaoWcjE32AbQdWAAJD_hojvJc119.png)
數(shù)據(jù)庫數(shù)據(jù)恢復—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復案例
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—Oracle<b class='flag-5'>數(shù)據(jù)庫文件</b>system01.dbf損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例](https://file1.elecfans.com//web2/M00/06/BC/wKgZombqY1-AbIlmAAA0fq5EyZY308.jpg)
數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復案例
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—<b class='flag-5'>SQL</b> <b class='flag-5'>Server</b><b class='flag-5'>數(shù)據(jù)庫</b>出現(xiàn)823錯誤的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例](https://file1.elecfans.com/web2/M00/07/F4/wKgaombs78mANJ1GAAPeSoXHVPE244.png)
數(shù)據(jù)庫數(shù)據(jù)恢復—SqlServer數(shù)據(jù)庫底層File Record被截斷為0的數(shù)據(jù)恢復案例
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—SqlServer<b class='flag-5'>數(shù)據(jù)庫</b>底層File Record被截斷為0的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例](https://file.elecfans.com/web2/M00/AD/92/pYYBAGSRTBOAJcT3AATg2PM85Ok126.png)
數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server數(shù)據(jù)庫所在分區(qū)空間不足報錯的數(shù)據(jù)恢復案例
數(shù)據(jù)庫數(shù)據(jù)恢復—數(shù)據(jù)庫所在分區(qū)空間不足導致sqlserver故障的數(shù)據(jù)恢復案例
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—<b class='flag-5'>數(shù)據(jù)庫</b>所在分區(qū)空間不足導致sqlserver故障的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例](https://file.elecfans.com/web2/M00/A5/1F/pYYBAGRd7l6AFn25AAQyenpNuoc061.png)
數(shù)據(jù)庫數(shù)據(jù)恢復—raid5陣列上層Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復案例
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—raid5陣列上層<b class='flag-5'>Sql</b> <b class='flag-5'>Server</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例](https://file.elecfans.com/web2/M00/A2/AD/pYYBAGRLbSSAHhFWAAI9vWNRQec919.png)
數(shù)據(jù)庫數(shù)據(jù)恢復—ndf文件大小變?yōu)?KB的數(shù)據(jù)恢復案例
MongoDB數(shù)據(jù)恢復—MongoDB數(shù)據(jù)庫文件損壞的數(shù)據(jù)恢復案例
![MongoDB<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—MongoDB<b class='flag-5'>數(shù)據(jù)庫文件</b>損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例](https://file.elecfans.com/web2/M00/9F/F3/poYBAGQ-Pg6AWHFxAAJ9VHkTNrk678.png)
數(shù)據(jù)庫數(shù)據(jù)恢復—Sql Server數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復案例
![<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—<b class='flag-5'>Sql</b> <b class='flag-5'>Server</b><b class='flag-5'>數(shù)據(jù)庫文件</b><b class='flag-5'>丟失</b>的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例](https://file.elecfans.com/web2/M00/9D/7C/pYYBAGQub62ABZHVAAJKkVvcctE851.png)
評論