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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

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

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

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

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

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

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

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

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

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

重組RAID:

pYYBAGQub62ABZHVAAJKkVvcctE851.png

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

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

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

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

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

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

poYBAGQub82AZW6OAADF0YNZZPo397.png

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

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)表損壞,無法正常讀取信息。與用戶方溝通后得知有備份文件,且備份后沒有進行過大的表結(jié)構(gòu)改動,系統(tǒng)表可用。

8、還原備份。

還原備份:

poYBAGQub9aAAVoPAAOQDhMUtNY216.png

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

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

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

poYBAGQub9-AGauRAAIzH7_Yzvc828.png

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

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

掃描腳本文件:

pYYBAGQub_iAfTHyAACr2mdWwUk863.png

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

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

poYBAGQucACAPI35AAK4x7Wdd4k945.png

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

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

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

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

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

pYYBAGQucAmAGoGbAAIOIKX9oXw873.png

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

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

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

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

    關注

    12

    文章

    9184

    瀏覽量

    85489
  • SQL
    SQL
    +關注

    關注

    1

    文章

    764

    瀏覽量

    44156
  • Server
    +關注

    關注

    0

    文章

    90

    瀏覽量

    24047
  • 數(shù)據(jù)恢復

    關注

    10

    文章

    575

    瀏覽量

    17470
收藏 人收藏

    評論

    相關推薦

    數(shù)據(jù)庫數(shù)據(jù)恢復—Mysql數(shù)據(jù)庫表記錄丟失數(shù)據(jù)恢復流程

    Mysql數(shù)據(jù)庫故障: Mysql數(shù)據(jù)庫表記錄丟失。 Mysql數(shù)據(jù)庫故障表現(xiàn): 1、Mysql數(shù)據(jù)庫表中無任何
    的頭像 發(fā)表于 12-16 11:05 ?168次閱讀
    <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>流程

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

    mysql數(shù)據(jù)庫故障: mysql數(shù)據(jù)庫文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫無法進行查詢等操作;2、使用mysqlcheck和myisamchk無法修復數(shù)據(jù)庫
    的頭像 發(fā)表于 12-09 11:05 ?158次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復—通過拼接數(shù)據(jù)庫碎片恢復SQLserver數(shù)據(jù)庫

    試圖恢復數(shù)據(jù)庫,發(fā)現(xiàn)有數(shù)個ndf文件大小變?yōu)?KB。 雖然NDF文件大小變?yōu)?KB,但是NDF文件在磁盤上還可能存在。可以嘗試通過掃描&拼接數(shù)據(jù)庫
    的頭像 發(fā)表于 10-31 13:21 ?231次閱讀
    <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>

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

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

    Oracle數(shù)據(jù)恢復—異常斷電后Oracle數(shù)據(jù)庫報錯的數(shù)據(jù)恢復案例

    Oracle數(shù)據(jù)庫的在線文件,需要恢復zxfg用戶的數(shù)據(jù)。 Oracle數(shù)據(jù)庫恢復方案:
    的頭像 發(fā)表于 09-30 13:31 ?310次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—異常斷電后Oracle<b class='flag-5'>數(shù)據(jù)庫</b>啟<b class='flag-5'>庫</b>報錯的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例

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

    打開oracle數(shù)據(jù)庫報錯“system01.dbf需要更多的恢復來保持一致性,數(shù)據(jù)庫無法打開”。
    的頭像 發(fā)表于 09-21 14:25 ?370次閱讀
    <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>案例

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

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

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

    SQL Server數(shù)據(jù)庫數(shù)據(jù)無法被讀取。 經(jīng)過數(shù)據(jù)庫數(shù)據(jù)
    的頭像 發(fā)表于 07-26 11:27 ?397次閱讀
    <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>案例

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

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

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

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

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

    數(shù)據(jù)。服務器上部署sql server數(shù)據(jù)庫數(shù)據(jù)庫存放在C盤。 數(shù)據(jù)庫故障: 工作人員
    的頭像 發(fā)表于 05-22 13:16 ?472次閱讀
    <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>案例

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

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

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

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

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

    服務器數(shù)據(jù)恢復環(huán)境: 一臺Windows Server操作系統(tǒng)服務器,服務器上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫故障&
    的頭像 發(fā)表于 04-23 14:48 ?413次閱讀
    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>案例

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

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