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

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

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

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

Frombyte ? 來(lái)源:Frombyte ? 作者:Frombyte ? 2023-04-28 14:53 ? 次閱讀

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

5塊磁盤組建RAID5,劃分LUN供windows服務(wù)器使用;

windows服務(wù)器上部署Sql Server數(shù)據(jù)庫(kù);操作系統(tǒng)層面劃分了三個(gè)邏輯分區(qū)。

數(shù)據(jù)庫(kù)故障&初檢:

未知原因?qū)е耂ql Server數(shù)據(jù)庫(kù)文件丟失,涉及到數(shù)個(gè)數(shù)據(jù)庫(kù)和數(shù)千張表,不能確定數(shù)據(jù)存儲(chǔ)位置。數(shù)據(jù)庫(kù)文件丟失后服務(wù)器仍然在開(kāi)機(jī)運(yùn)行,所幸沒(méi)有大量寫入數(shù)據(jù)。

1、將故障服務(wù)器內(nèi)所有硬盤以只讀方式進(jìn)行全盤鏡像備份,后續(xù)數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免在恢復(fù)數(shù)據(jù)的過(guò)程中對(duì)原始數(shù)據(jù)造成二次破壞。

2、基于鏡像文件分析raid5底層數(shù)據(jù),通過(guò)分析獲取到的raid相關(guān)信息及內(nèi)部數(shù)據(jù)塊信息重組RAID。

重組RAID:

pYYBAGRLbSSAHhFWAAI9vWNRQec919.png

北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)

3、完成RAID重組后提取LUN內(nèi)的三個(gè)邏輯分區(qū)的鏡像。

4、掃描文件系統(tǒng)內(nèi)丟失文件,未找到被刪除的數(shù)據(jù)庫(kù)文件。

5、初檢結(jié)果為數(shù)據(jù)庫(kù)文件丟失,在文件系統(tǒng)層面無(wú)法恢復(fù)數(shù)據(jù)庫(kù)數(shù)據(jù)。

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

1、經(jīng)過(guò)初檢后發(fā)現(xiàn)數(shù)據(jù)庫(kù)文件被刪除且無(wú)法在文件系統(tǒng)層面進(jìn)行恢復(fù)后,北亞企安數(shù)據(jù)恢復(fù)工程師決定通過(guò)掃描數(shù)據(jù)頁(yè),提取頁(yè)內(nèi)記錄的方式來(lái)恢復(fù)丟失的數(shù)據(jù)庫(kù)數(shù)據(jù)。

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

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

poYBAGRLbTeALVspAADFnohnDWw932.png

北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)

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

4、還原備份:

pYYBAGRLbUKARjMTAAOFE4AEyDI653.png

北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)

5、分別提取需要恢復(fù)數(shù)據(jù)的三個(gè)庫(kù)中各表的表結(jié)構(gòu)信息。

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

pYYBAGRLbUiAGOZTAAIzZlR3C_o758.png

北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)

6、解析表結(jié)構(gòu)腳本,將各表的列信息存入數(shù)據(jù)庫(kù)內(nèi)便于在后續(xù)的數(shù)據(jù)恢復(fù)過(guò)程中使用。

掃描腳本文件:

pYYBAGRLbU-AeVEHAACqodEDk4c287.png

北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)

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

poYBAGRLbVaAYKOfAAK6yNOFlXI407.png

北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)

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

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

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

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

pYYBAGRLbV2AB-k8AAIGaDjQWwI156.png

北亞企安數(shù)據(jù)恢復(fù)——SQL SERVER數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)

10、處理完所有數(shù)據(jù)后交由用戶方驗(yàn)證數(shù)據(jù)。用戶方工程師經(jīng)過(guò)反復(fù)查驗(yàn)后確認(rèn)恢復(fù)數(shù)據(jù)完整有效。將恢復(fù)出來(lái)的數(shù)據(jù)遷移到用戶方準(zhǔn)備好的存儲(chǔ)設(shè)備中。

審核編輯:湯梓紅

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

    關(guān)注

    12

    文章

    8701

    瀏覽量

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

    關(guān)注

    1

    文章

    750

    瀏覽量

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

    關(guān)注

    10

    文章

    507

    瀏覽量

    17207
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3712

    瀏覽量

    64027
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫(kù)底層File Record被截?cái)酁?的數(shù)據(jù)恢復(fù)案例

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

    恒訊科技分析:sql數(shù)據(jù)庫(kù)怎么用?

    SQL數(shù)據(jù)庫(kù)的使用通常包括以下幾個(gè)基本步驟: 1、選擇數(shù)據(jù)庫(kù)系統(tǒng): 選擇適合您需求的SQL數(shù)據(jù)庫(kù)系統(tǒng),如MySQL、PostgreSQL、M
    的頭像 發(fā)表于 07-15 14:40 ?211次閱讀

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

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

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

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

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

    數(shù)據(jù)庫(kù)數(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 ?395次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</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ù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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