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

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

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

【數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)】sql server數(shù)據(jù)庫(kù)所在空間不足導(dǎo)致故障的數(shù)據(jù)恢復(fù)

Frombyte ? 來(lái)源:Frombyte ? 作者:Frombyte ? 2023-05-12 15:45 ? 次閱讀

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

一臺(tái)Dell PowerEdge某型號(hào)存儲(chǔ),數(shù)塊SAS硬盤(pán)分別組建raid1和raid5兩組磁盤(pán)陣列。其中2塊磁盤(pán)組建的RAID1,用于安裝操作系統(tǒng);其余幾塊磁盤(pán)組建raid5,用于存放數(shù)據(jù)。

上層安裝的windows服務(wù)器,部署有sql server數(shù)據(jù)庫(kù),sql server數(shù)據(jù)庫(kù)存放在C盤(pán)分區(qū)。

數(shù)據(jù)庫(kù)故障&分析:

管理員發(fā)現(xiàn)存放sql server數(shù)據(jù)庫(kù)的C盤(pán)剩余空間不足,于是將數(shù)據(jù)庫(kù)路徑指向D盤(pán),在D盤(pán)生成了一個(gè).ndf文件。

大約半個(gè)月之后,數(shù)據(jù)庫(kù)出現(xiàn)故障,無(wú)法連接和附加查詢(xún)。

由于數(shù)據(jù)庫(kù)文件所在磁盤(pán)的容量不足,數(shù)據(jù)庫(kù)無(wú)法正常運(yùn)行,出現(xiàn)邏輯錯(cuò)誤。

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

1、將存儲(chǔ)設(shè)備中所有磁盤(pán)以只讀方式進(jìn)行全盤(pán)鏡像備份,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免對(duì)原始數(shù)據(jù)造成二次破壞。

2、基于鏡像文件分析存儲(chǔ)中RAID1和RAID5的結(jié)構(gòu),獲取RAID相關(guān)信息,利用這些信息虛擬重組RAID1和RAID5。

3、由于管理員在發(fā)現(xiàn)數(shù)據(jù)庫(kù)出現(xiàn)故障之后進(jìn)行過(guò)多次數(shù)據(jù)庫(kù)恢復(fù)操作。每次恢復(fù)操作都是在原環(huán)境下進(jìn)行的,導(dǎo)致原始的數(shù)據(jù)庫(kù)文件被更改覆蓋,磁盤(pán)空間被多次復(fù)寫(xiě),所以無(wú)法使用嘗試恢復(fù)之后的數(shù)據(jù)庫(kù)文件進(jìn)行修復(fù)。所幸的是,經(jīng)過(guò)溝通得知在數(shù)據(jù)庫(kù)發(fā)生故障的時(shí)候,對(duì)原始數(shù)據(jù)庫(kù)文件進(jìn)行過(guò)備份。

4、從虛擬重組出來(lái)的RAID5的空間中將管理員備份的數(shù)據(jù)庫(kù)文件拷貝出來(lái),嘗試在數(shù)據(jù)庫(kù)中附加,附加失敗,錯(cuò)誤提示如下:

pYYBAGRd7l6AFn25AAQyenpNuoc061.png

北亞企安數(shù)據(jù)恢復(fù)——sql server數(shù)據(jù)恢復(fù)

錯(cuò)誤提示主數(shù)據(jù)庫(kù)文件和次級(jí)數(shù)據(jù)庫(kù)文件不匹配。

5、查看.ndf文件底層,發(fā)現(xiàn)該文件中幾乎沒(méi)有數(shù)據(jù)。嘗試取消.mdf文件和.ndf文件之間的關(guān)聯(lián)并只用.mdf文件進(jìn)行附加,依然報(bào)錯(cuò)但錯(cuò)誤提示發(fā)生變化。錯(cuò)誤提示如下:

poYBAGRd7mmAIc96AAPS-NwR2SU404.png

北亞企安數(shù)據(jù)恢復(fù)——sql server數(shù)據(jù)恢復(fù)

錯(cuò)誤提示日志文件(.ldf)和數(shù)據(jù)庫(kù)文件(.mdf)不匹配。

6、嘗試對(duì)數(shù)據(jù)庫(kù)進(jìn)行無(wú)數(shù)據(jù)庫(kù)附加,附加成功。但是發(fā)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)表?yè)p壞,無(wú)法正常使用。

pYYBAGRd7nGANafPAAMvD3HwbBI882.png

北亞企安數(shù)據(jù)恢復(fù)——sql server數(shù)據(jù)恢復(fù)

7、嘗試修復(fù)數(shù)據(jù)庫(kù)的系統(tǒng)表,但系統(tǒng)表?yè)p壞過(guò)于嚴(yán)重,無(wú)法修復(fù)。

8、北亞企安數(shù)據(jù)恢復(fù)工程師編寫(xiě)程序解析&提取數(shù)據(jù)庫(kù)文件中的數(shù)據(jù)庫(kù)記錄。

9、根據(jù)數(shù)據(jù)庫(kù)備份獲取數(shù)據(jù)庫(kù)的表結(jié)構(gòu),重構(gòu)表結(jié)構(gòu)并將提取出的數(shù)據(jù)庫(kù)記錄導(dǎo)入到新的表中。

數(shù)據(jù)驗(yàn)證:

由用戶(hù)方對(duì)提取出的數(shù)據(jù)庫(kù)記錄進(jìn)行驗(yàn)證,經(jīng)過(guò)反復(fù)驗(yàn)證,確認(rèn)數(shù)據(jù)完整有效,本次數(shù)據(jù)恢復(fù)工作完成。

Tips:

部署數(shù)據(jù)庫(kù)時(shí)要合理分配數(shù)據(jù)庫(kù)文件所在磁盤(pán)的空間,及時(shí)清理垃圾數(shù)據(jù),保證數(shù)據(jù)庫(kù)的正常、安全運(yùn)行。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    751

    瀏覽量

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

    關(guān)注

    10

    文章

    507

    瀏覽量

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

    關(guān)注

    7

    文章

    3714

    瀏覽量

    64035
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(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附加
    的頭像 發(fā)表于 09-20 11:46 ?135次閱讀
    <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 ?254次閱讀
    <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>案例

    數(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盤(pán)分區(qū)容量
    的頭像 發(fā)表于 07-10 13:54 ?307次閱讀

    數(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盤(pán)。 數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 05-22 13:16 ?273次閱讀
    <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><b class='flag-5'>所在</b>分區(qū)<b class='flag-5'>空間</b><b class='flag-5'>不足</b><b class='flag-5'>導(dǎo)致</b>sqlserver<b class='flag-5'>故障</b>的<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塊硬盤(pán)組建一組RAID5陣列,劃分LUN供windows系統(tǒng)服務(wù)器使用。windows系統(tǒng)服務(wù)器內(nèi)運(yùn)行了Sql Serve
    的頭像 發(fā)表于 05-08 11:43 ?401次閱讀
    <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ù)后,用戶(hù)發(fā)現(xiàn)有4個(gè)nd
    的頭像 發(fā)表于 05-07 11:19 ?329次閱讀

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

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—未開(kāi)啟binlog的Mysql數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)環(huán)境: 本地服務(wù)器,windows server操作系統(tǒng) ,部署有mysql單實(shí)例,數(shù)據(jù)庫(kù)引擎類(lèi)型為innodb,
    的頭像 發(fā)表于 12-08 14:18 ?943次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—未開(kāi)啟binlog的Mysql<b class='flag-5'>數(shù)據(jù)庫(kù)</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 ?1204次閱讀

    數(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ú)備份或者備份不可用,則需要使用專(zhuān)業(yè)的
    的頭像 發(fā)表于 11-10 16:20 ?718次閱讀
    <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>案例

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—MySQL數(shù)據(jù)庫(kù)表誤刪除記錄的數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)環(huán)境: 一臺(tái)本地windows sever操作系統(tǒng)服務(wù)器,服務(wù)器上部署mysql數(shù)據(jù)庫(kù)單實(shí)例,引擎類(lèi)型為innodb,表內(nèi)數(shù)據(jù)
    的頭像 發(fā)表于 11-09 15:16 ?1141次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—MySQL<b class='flag-5'>數(shù)據(jù)庫(kù)</b>表誤刪除記錄的<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 ?551次閱讀

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—斷電導(dǎo)致Oracle數(shù)據(jù)庫(kù)故障數(shù)據(jù)恢復(fù)案例

    北京某公司一臺(tái)運(yùn)行oracle數(shù)據(jù)庫(kù)的服務(wù)器,機(jī)房意外斷電導(dǎo)致該服務(wù)器重啟,重啟后發(fā)現(xiàn)oracle數(shù)據(jù)庫(kù)報(bào)錯(cuò)。該Oracle數(shù)據(jù)庫(kù)沒(méi)有備份。
    的頭像 發(fā)表于 10-25 14:52 ?522次閱讀
    <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'>導(dǎo)致</b>Oracle<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>案例

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)-oracle數(shù)據(jù)庫(kù)報(bào)錯(cuò)無(wú)法打開(kāi)的數(shù)據(jù)恢復(fù)案例

    oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)環(huán)境: 一臺(tái)服務(wù)器,底層由12塊硬盤(pán)組成一組磁盤(pán)陣列,上層操作系統(tǒng)上運(yùn)行oracle數(shù)據(jù)庫(kù)。 oracle數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 10-12 14:00 ?706次閱讀