0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Sql Server數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2023-04-06 15:09 ? 次閱讀

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境:

5塊硬盤組建RAID5,劃分LUN供windows服務(wù)器使用,共有三個邏輯分區(qū);

在windows服務(wù)器內(nèi)部署有Sql Server數(shù)據(jù)庫。

數(shù)據(jù)庫故障:

未知原因?qū)е聰?shù)據(jù)庫文件丟失,涉及5個數(shù)據(jù)庫,數(shù)千個表,不能確定數(shù)據(jù)存儲位置。

數(shù)據(jù)庫文件丟失后服務(wù)器仍在運(yùn)行,但未寫入大量數(shù)據(jù)。

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)過程:

1、對故障設(shè)備中所有硬盤以只讀方式進(jìn)行完整鏡像備份,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免對原始數(shù)據(jù)造成二次破壞。

2、基于鏡像文件分析raid5,獲取raid相關(guān)信息并利用信息及內(nèi)部數(shù)據(jù)塊信息重組RAID。

重組RAID:

pYYBAGQub62ABZHVAAJKkVvcctE851.png

北亞企安數(shù)據(jù)恢復(fù)——Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

3、提取LUN內(nèi)的三個分區(qū)鏡像。

4、掃描文件系統(tǒng)內(nèi)丟失的文件,未找到被刪除的數(shù)據(jù)庫文件,通過文件系統(tǒng)層面無法恢復(fù)數(shù)據(jù)庫數(shù)據(jù)。

5、經(jīng)過北亞企安數(shù)據(jù)恢復(fù)工程師團(tuán)隊的會診,最終敲定通過掃描數(shù)據(jù)頁并提取頁內(nèi)記錄的數(shù)據(jù)恢復(fù)方案來恢復(fù)數(shù)據(jù)庫數(shù)據(jù)。

6、使用北亞企安自主編寫的數(shù)據(jù)頁掃描程序掃描分區(qū)內(nèi)數(shù)據(jù)頁并進(jìn)行提取。在分別掃描兩個分區(qū)鏡像后發(fā)現(xiàn)系統(tǒng)盤內(nèi)數(shù)據(jù)頁數(shù)量極少且數(shù)據(jù)頁斷裂情況嚴(yán)重;另一分區(qū)內(nèi)掃描到數(shù)據(jù)頁數(shù)量較多,暫定此分區(qū)為數(shù)據(jù)庫文件存儲空間。

掃描數(shù)據(jù)頁:

poYBAGQub82AZW6OAADF0YNZZPo397.png

北亞企安數(shù)據(jù)恢復(fù)——Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

7、Sql Server數(shù)據(jù)庫使用系統(tǒng)表來管理所有用戶表,在這些系統(tǒng)表內(nèi)記錄了各表的列數(shù)、數(shù)據(jù)類型及約束信息等。解析Sql Server系統(tǒng)表過程中發(fā)現(xiàn)提取出的數(shù)據(jù)頁內(nèi)系統(tǒng)表損壞,無法正常讀取信息。與用戶方溝通后得知有備份文件,且備份后沒有進(jìn)行過大的表結(jié)構(gòu)改動,系統(tǒng)表可用。

8、還原備份。

還原備份:

poYBAGQub9aAAVoPAAOQDhMUtNY216.png

北亞企安數(shù)據(jù)恢復(fù)——Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

9、提取數(shù)據(jù)庫中各表的表結(jié)構(gòu)信息。

提取表結(jié)構(gòu)信息:

poYBAGQub9-AGauRAAIzH7_Yzvc828.png

北亞企安數(shù)據(jù)恢復(fù)——Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

10、解析表結(jié)構(gòu)腳本。將各表的列信息存入數(shù)據(jù)庫內(nèi)。

掃描腳本文件:

pYYBAGQub_iAfTHyAACr2mdWwUk863.png

北亞企安數(shù)據(jù)恢復(fù)——Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

表結(jié)構(gòu)信息存入數(shù)據(jù)庫:

poYBAGQucACAPI35AAK4x7Wdd4k945.png

北亞企安數(shù)據(jù)恢復(fù)——Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

11、解析系統(tǒng)表獲取用戶表id信息、關(guān)聯(lián)表結(jié)構(gòu)與數(shù)據(jù)頁。

12、新建數(shù)據(jù)庫,使用北亞企安自主編寫軟件解析記錄并導(dǎo)入到恢復(fù)環(huán)境內(nèi)。

13、整理恢復(fù)結(jié)果。在此分區(qū)內(nèi)除了存放數(shù)據(jù)庫文件外還存放一些備份文件,所以在導(dǎo)出記錄后可能存在重復(fù)數(shù)據(jù),北亞企安數(shù)據(jù)恢復(fù)工程師編寫程序進(jìn)行去重。

數(shù)據(jù)庫去重:

pYYBAGQucAmAGoGbAAIOIKX9oXw873.png

北亞企安數(shù)據(jù)恢復(fù)——Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

14、去重后由用戶方工程師進(jìn)行對恢復(fù)出來的數(shù)據(jù)庫文件進(jìn)行檢測驗(yàn)證,經(jīng)過仔細(xì)查驗(yàn)后確認(rèn)數(shù)據(jù)完整可用。

15、由數(shù)據(jù)恢復(fù)工程師協(xié)助用戶方工程師將恢復(fù)出來的數(shù)據(jù)遷移到準(zhǔn)備好的環(huán)境中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8873

    瀏覽量

    84968
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    751

    瀏覽量

    43992
  • Server
    +關(guān)注

    關(guān)注

    0

    文章

    90

    瀏覽量

    23967
  • 數(shù)據(jù)恢復(fù)

    關(guān)注

    10

    文章

    528

    瀏覽量

    17318
收藏 人收藏

    評論

    相關(guān)推薦

    oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫打開報錯的數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)文件與控制文件的SCN不一致等。數(shù)據(jù)恢復(fù)工程師對數(shù)據(jù)庫文件做進(jìn)一步檢測分析后發(fā)現(xiàn)sysaux01.dbf
    的頭像 發(fā)表于 10-17 13:20 ?108次閱讀
    oracle<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Oracle<b class='flag-5'>數(shù)據(jù)庫</b>打開報錯的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫報錯“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。
    的頭像 發(fā)表于 09-21 14:25 ?190次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Oracle<b class='flag-5'>數(shù)據(jù)庫文件</b>system01.dbf損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫故障: SQL Server附加數(shù)據(jù)庫出現(xiàn)錯誤823,附加
    的頭像 發(fā)表于 09-20 11:46 ?234次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</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'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫底層File Record被截斷為0的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫數(shù)據(jù)無法被讀取。 經(jīng)過數(shù)據(jù)庫數(shù)據(jù)
    的頭像 發(fā)表于 07-26 11:27 ?297次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SqlServer<b class='flag-5'>數(shù)據(jù)庫</b>底層File Record被截斷為0的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)SQL Server數(shù)據(jù)庫所在分區(qū)空間不足報錯的數(shù)據(jù)恢復(fù)案例

    Server數(shù)據(jù)庫故障: 存放SQL Server數(shù)據(jù)庫的D盤分區(qū)容量不足,管理員在E盤中生成了一個.ndf的
    的頭像 發(fā)表于 07-10 13:54 ?382次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)數(shù)據(jù)庫所在分區(qū)空間不足導(dǎo)致sqlserver故障的數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)。服務(wù)器上部署sql server數(shù)據(jù)庫,數(shù)據(jù)庫存放在C盤。 數(shù)據(jù)庫故障: 工作人員
    的頭像 發(fā)表于 05-22 13:16 ?341次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>數(shù)據(jù)庫</b>所在分區(qū)空間不足導(dǎo)致sqlserver故障的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—raid5陣列上層Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 5塊硬盤組建一組RAID5陣列,劃分LUN供windows系統(tǒng)服務(wù)器使用。windows系統(tǒng)服務(wù)器內(nèi)運(yùn)行了Sql Serve
    的頭像 發(fā)表于 05-08 11:43 ?434次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</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'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—ndf文件大小變?yōu)?KB的數(shù)據(jù)恢復(fù)案例

    存儲設(shè)備損壞導(dǎo)致存儲中SQL Server數(shù)據(jù)庫崩潰。對數(shù)據(jù)庫文件進(jìn)行恢復(fù)后,用戶發(fā)現(xiàn)有4個ndf文件
    的頭像 發(fā)表于 05-07 11:19 ?369次閱讀

    MongoDB數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件損壞的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 一臺Windows Server操作系統(tǒng)服務(wù)器,服務(wù)器上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫故障&
    的頭像 發(fā)表于 04-23 14:48 ?350次閱讀
    MongoDB<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—MongoDB<b class='flag-5'>數(shù)據(jù)庫文件</b>損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)Sql Server數(shù)據(jù)庫文件丟失數(shù)據(jù)恢復(fù)案例

    。存儲空間LUN劃分了兩個邏輯分區(qū)。 服務(wù)器故障&初檢: 由于未知原因,Sql Server數(shù)據(jù)庫文件丟失,丟失
    的頭像 發(fā)表于 04-11 15:38 ?764次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</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'>恢復(fù)</b>案例

    SQL Server數(shù)據(jù)庫備份方法

    SQL Server是一種用于管理和存儲數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。備份數(shù)據(jù)庫是保護(hù)和恢復(fù)數(shù)據(jù)
    的頭像 發(fā)表于 11-23 14:27 ?1283次閱讀

    navicat怎么導(dǎo)出數(shù)據(jù)庫文件發(fā)給別人

    導(dǎo)出數(shù)據(jù)庫文件并發(fā)送給別人是一項常見的任務(wù),而Navicat是一種強(qiáng)大的數(shù)據(jù)庫管理工具,可以幫助我們輕松完成這個任務(wù)。下面將詳細(xì)介紹如何使用Navicat導(dǎo)出數(shù)據(jù)庫文件并將其發(fā)送給他人。 第一步
    的頭像 發(fā)表于 11-21 10:57 ?2927次閱讀

    navicat怎么導(dǎo)出數(shù)據(jù)庫文件

    。 首先,確保你已經(jīng)安裝了Navicat,并已成功連接到目標(biāo)數(shù)據(jù)庫。接下來,按照以下步驟進(jìn)行導(dǎo)出數(shù)據(jù)庫文件: 步驟一:選擇目標(biāo)數(shù)據(jù)庫 在Navicat主界面左側(cè)的連接管理器中,選擇你需要導(dǎo)出的
    的頭像 發(fā)表于 11-21 10:53 ?7615次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MSSQL Server報錯“附加數(shù)據(jù)庫錯誤823”的數(shù)據(jù)恢復(fù)案例

    MSSQL Server數(shù)據(jù)庫比較常見的報錯是“附加數(shù)據(jù)庫錯誤823”。如果數(shù)據(jù)庫有備份,只需要還原備份即可;如果無備份或者備份不可用,則需要使用專業(yè)的
    的頭像 發(fā)表于 11-10 16:20 ?813次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—MSSQL <b class='flag-5'>Server</b>報錯“附加<b class='flag-5'>數(shù)據(jù)庫</b>錯誤823”的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—誤還原快照導(dǎo)致SqlServer數(shù)據(jù)庫數(shù)據(jù)丟失數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: vmfs文件系統(tǒng),存放的是SqlServer數(shù)據(jù)庫及其他辦公文件。 服務(wù)器故障: 工作人員誤操作還原快照,導(dǎo)
    的頭像 發(fā)表于 11-06 15:06 ?612次閱讀