SQL Server數(shù)據(jù)庫(kù)故障&分析&恢復(fù)方案:
SQL Server數(shù)據(jù)庫(kù)的數(shù)據(jù)無(wú)法被讀取。
經(jīng)過(guò)數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)工程師的初步檢測(cè),發(fā)現(xiàn)SQL Server數(shù)據(jù)庫(kù)文件無(wú)法被讀取的原因是底層File Record被截?cái)酁?,無(wú)法找到文件開(kāi)頭,而且數(shù)據(jù)表結(jié)構(gòu)也已經(jīng)損壞。鏡像文件的前幾十M和中間一部分空間被覆蓋,系統(tǒng)表?yè)p壞,所以無(wú)法讀取。
日志中的操作記錄:
北亞企安數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)恢復(fù)
由于系統(tǒng)表?yè)p壞,大量數(shù)據(jù)表的結(jié)構(gòu)無(wú)法確定,只能靠?jī)H有線(xiàn)索和數(shù)據(jù)恢復(fù)工程師的技術(shù)&經(jīng)驗(yàn)來(lái)恢復(fù)數(shù)據(jù)庫(kù)數(shù)據(jù)。
經(jīng)過(guò)北亞企安數(shù)據(jù)恢復(fù)工程師團(tuán)隊(duì)的會(huì)診,最終敲定針對(duì)該數(shù)據(jù)庫(kù)的數(shù)據(jù)恢復(fù)方案:
1、備份數(shù)據(jù)。對(duì)丟失數(shù)據(jù)的硬盤(pán)做全盤(pán)鏡像備份,以確保數(shù)據(jù)的安全性。
2、分析備份文件中原數(shù)據(jù)庫(kù),從原數(shù)據(jù)庫(kù)中尋找數(shù)據(jù)表的結(jié)構(gòu)。
3、從日志中提取一部分?jǐn)?shù)據(jù)表的結(jié)構(gòu)。
4、從日志中和殘留數(shù)據(jù)中提取完好的數(shù)據(jù)。
5、根據(jù)日志恢復(fù)對(duì)應(yīng)的數(shù)據(jù),并檢查數(shù)據(jù)的正確性。
6、核對(duì)數(shù)據(jù)沒(méi)問(wèn)題后恢復(fù)所有數(shù)據(jù)。
SQL Server數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)過(guò)程:
1、將故障數(shù)據(jù)庫(kù)所涉及到的硬盤(pán)標(biāo)記后從服務(wù)器上取下,移交給硬件工程師檢測(cè)是否存在物理故障。經(jīng)過(guò)檢測(cè)沒(méi)有發(fā)現(xiàn)有磁盤(pán)存在物理故障。將每塊硬盤(pán)以只讀方式做扇區(qū)級(jí)全盤(pán)鏡像。鏡像完成后將所有硬盤(pán)按照原樣還原到原服務(wù)器中。
備份硬盤(pán)數(shù)據(jù):
北亞企安數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)恢復(fù)
2、打開(kāi)鏡像文件,分析硬盤(pán)底層數(shù)據(jù),發(fā)現(xiàn)硬盤(pán)底層殘留著許多SQL Server數(shù)據(jù)庫(kù)的日志和備份文件。經(jīng)過(guò)查看和分析,發(fā)現(xiàn)日志中有很多包括插入語(yǔ)句的數(shù)據(jù)庫(kù)操作記錄;備份文件中有建表語(yǔ)句和一部分舊數(shù)據(jù)。
北亞企安數(shù)據(jù)恢復(fù)工程師編寫(xiě)了一個(gè)提取數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)的小程序,掃描所有存在的數(shù)據(jù)庫(kù)殘留并提取所有數(shù)據(jù)。
3、分析掃描到的所有日志文件,發(fā)現(xiàn)日志文件中的數(shù)據(jù)記錄有著固定的開(kāi)頭和結(jié)尾,其中每條數(shù)據(jù)都在固定的位置上有自己的OBJECT_ID號(hào),在接下來(lái)的掃描文件中,繼續(xù)搜尋有同樣OBJECT_ID的數(shù)據(jù)記錄,發(fā)現(xiàn)結(jié)構(gòu)相同,就可以確定這是完好的數(shù)據(jù),并進(jìn)行提取。
分析掃描到的備份文件,發(fā)現(xiàn)很多建表語(yǔ)句,根據(jù)這些語(yǔ)句可以獲取到一部分表結(jié)構(gòu)。針對(duì)剩余的表結(jié)構(gòu),由于截?cái)酁?的部分剛好在系統(tǒng)表,沒(méi)有辦法提取表結(jié)構(gòu),只能通過(guò)從日志中提取的數(shù)據(jù)來(lái)推理表結(jié)構(gòu)和數(shù)據(jù)類(lèi)型。
4、根據(jù)前面的分析,北亞企安數(shù)據(jù)恢復(fù)工程師編寫(xiě)程序從備份文件中提取建表語(yǔ)句,根據(jù)建表語(yǔ)句分析出表結(jié)構(gòu)與各種數(shù)據(jù)類(lèi)型。
5、在殘留的系統(tǒng)表中尋找22H、07H、05H表,根據(jù)這些建立表與OBJECT_ID的對(duì)應(yīng)關(guān)系。北亞企安數(shù)據(jù)恢復(fù)工程師編寫(xiě)程序提取日志中的記錄,根據(jù)OBJECT_ID將數(shù)據(jù)和表進(jìn)行對(duì)應(yīng),并插入到新表中。
6、經(jīng)過(guò)驗(yàn)證,用戶(hù)方確認(rèn)恢復(fù)出來(lái)的數(shù)據(jù)完整有效,認(rèn)可數(shù)據(jù)恢復(fù)結(jié)果。
審核編輯 黃宇
-
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
507瀏覽量
17204 -
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3712瀏覽量
64027 -
SQLserver
+關(guān)注
關(guān)注
0文章
16瀏覽量
6983
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論