數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)環(huán)境:
某品牌存儲(chǔ)存放大小約80TB的SQL SERVER數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)包含兩個(gè)LDF文件,每10天生成一個(gè)500GB大小的NDF文件。
北亞數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)恢復(fù)
數(shù)據(jù)庫(kù)故障&分析:
存儲(chǔ)損壞,SQL SERVER數(shù)據(jù)庫(kù)不可用。對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行恢復(fù)后發(fā)現(xiàn)有幾個(gè)NDF文件大小變?yōu)?KB。
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)過(guò)程:
1、對(duì)故障存儲(chǔ)所有硬盤做鏡像備份,基于鏡像文件掃描數(shù)據(jù)庫(kù)碎片。
2、北亞數(shù)據(jù)恢復(fù)工程師根據(jù)NDF文件的頁(yè)面特征,按照文件號(hào)、頁(yè)號(hào)拼接碎片,重組生成這些0kb的NDF文件。
3、檢測(cè)數(shù)據(jù)庫(kù)文件。使用北亞自主研發(fā)的MSSQL文件檢測(cè)工具對(duì)所有數(shù)據(jù)文件進(jìn)行檢測(cè),結(jié)果發(fā)現(xiàn)除了拼接出的NDF文件有少量的空頁(yè)之外,其他的文件都是正常的。
4、數(shù)據(jù)恢復(fù)工程師分析損壞lun后發(fā)現(xiàn)這些數(shù)據(jù)頁(yè)在存儲(chǔ)層面已經(jīng)不存在了。如果不能恢復(fù)這些數(shù)據(jù)頁(yè),這幾個(gè)拼接出來(lái)的NDF文件就不能完全恢復(fù)。
5、嘗試附加數(shù)據(jù)庫(kù),報(bào)錯(cuò) “處理數(shù)據(jù)庫(kù)的日志時(shí)出錯(cuò),如果可能請(qǐng)從備份還原。如果沒(méi)有可用的備份,可能需要重新生成日志”。
6、修改系統(tǒng)表,從系統(tǒng)表剔除掉最后添加的LDF文件,計(jì)算并修改校驗(yàn)。進(jìn)行無(wú)日志附加數(shù)據(jù)庫(kù)。報(bào)錯(cuò):“數(shù)據(jù)庫(kù)存在一致性錯(cuò)誤。”
北亞數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)恢復(fù)
7、修改系統(tǒng)表,將系統(tǒng)表記錄這幾個(gè)NDF文件的塊數(shù)量的值改為和掃描拼接出來(lái)的NDF文件的塊數(shù)量一致,同時(shí)更改這幾個(gè)NDF文件首頁(yè),使得數(shù)據(jù)庫(kù)中記錄的文件的塊數(shù)量和拼接出來(lái)的NDF的塊數(shù)量一致,計(jì)算并修改校驗(yàn)值。
8、無(wú)日志附加數(shù)據(jù)庫(kù),報(bào)錯(cuò)數(shù)據(jù)庫(kù)存在一致性錯(cuò)誤。
北亞數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)恢復(fù)
9、逐個(gè)修改系統(tǒng)表中這幾個(gè)損壞的NDF文件的塊數(shù)量,使其值等于報(bào)錯(cuò)塊前一頁(yè)。分析報(bào)錯(cuò),由于空頁(yè)都出現(xiàn)在這幾個(gè)NDF文件后面的十幾個(gè)塊中,截?cái)辔募?duì)數(shù)據(jù)完整性影響不大。重新修改系統(tǒng)表和NDF文件,將數(shù)據(jù)庫(kù)中記錄NDF塊數(shù)量的值改至報(bào)錯(cuò)的前一頁(yè),計(jì)算并修改校驗(yàn)。
10、重新進(jìn)行無(wú)日志附加數(shù)據(jù)庫(kù),報(bào)錯(cuò)“由于數(shù)據(jù)庫(kù)沒(méi)有完全關(guān)閉,無(wú)法重新生成日志”。
北亞數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)恢復(fù)
11、修改NDF文件中的數(shù)據(jù)庫(kù)的狀態(tài)值,讓數(shù)據(jù)庫(kù)認(rèn)為是完全關(guān)閉的。重新附加數(shù)據(jù)庫(kù)成功。
北亞數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)恢復(fù)
數(shù)據(jù)庫(kù)恢復(fù)數(shù)據(jù)驗(yàn)證:
數(shù)據(jù)庫(kù)文件成功附加后,用戶通過(guò)數(shù)據(jù)庫(kù)中的對(duì)象進(jìn)行查詢、驗(yàn)證,表中信息完整,確認(rèn)恢復(fù)出來(lái)的數(shù)據(jù)有效。
審核編輯 黃昊宇
-
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
585瀏覽量
17632 -
SQL Server
+關(guān)注
關(guān)注
0文章
20瀏覽量
13459
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論