91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

SQL SERVER數(shù)據(jù)庫ndf文件損壞的數(shù)據(jù)恢復(fù)案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2023-04-27 11:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境:
某公司存儲上部署SQL SERVER數(shù)據(jù)庫,數(shù)據(jù)庫中有1000多個文件,該SQL SERVER數(shù)據(jù)庫每10天生成一個NDF文件,數(shù)據(jù)庫包含兩個LDF文件。

數(shù)據(jù)庫故障&分析:
存儲設(shè)備出現(xiàn)故障導(dǎo)致SQL SERVER數(shù)據(jù)庫異常,經(jīng)過檢測發(fā)現(xiàn)有幾個ndf文件大小變?yōu)?KB。
雖然存儲故障導(dǎo)致NDF文件大小變?yōu)?KB,但是數(shù)據(jù)恢復(fù)工程師推測NDF文件還存在于磁盤中??梢酝ㄟ^編寫數(shù)據(jù)庫掃描碎片程序掃描數(shù)據(jù)庫碎片,通過碎片拼接來恢復(fù)NDF文件,最后修復(fù)數(shù)據(jù)庫。

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)過程:
1、將故障存儲中所有磁盤以只讀方式進(jìn)行全盤備份,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免數(shù)據(jù)恢復(fù)過程中可能對原始數(shù)據(jù)造成的二次破壞。
2、由北亞企安數(shù)據(jù)恢復(fù)工程師編寫數(shù)據(jù)庫碎片掃描程序掃描數(shù)據(jù)庫碎片。
3、根據(jù)NDF文件的頁面特征,按照文件號,頁號拼接掃描出來的數(shù)據(jù)庫碎片,重組生成出這些0kb的NDF文件。
4、使用北亞企安自主開發(fā)的MSSQL文件檢測工具對所有數(shù)據(jù)文件進(jìn)行檢測,結(jié)果發(fā)現(xiàn)拼接出的4個NDF文件有少量的空數(shù)據(jù)頁,其他文件正常。
5、進(jìn)一步分析存儲中損壞的lun,發(fā)現(xiàn)這些空數(shù)據(jù)頁在存儲層面已經(jīng)完全損壞,無法恢復(fù),即這4個NDF文件不能完全恢復(fù)。
6、嘗試附加數(shù)據(jù)庫,報錯 “處理數(shù)據(jù)庫的日志時出錯,如果可能請從備份還原。如果沒有可用的備份,可能需要重新生成日志”。
7、修改系統(tǒng)表,從系統(tǒng)表剔除掉最后添加的LDF文件,計算并修改校驗。嘗試進(jìn)行無日志附加數(shù)據(jù)庫,報錯:“數(shù)據(jù)庫存在一致性錯誤”。
8、修改系統(tǒng)表中這4個損壞的NDF文件的塊數(shù)量,使數(shù)據(jù)庫中記錄的文件的塊數(shù)量和拼接出來的NDF的塊數(shù)量一致,計算并修改校驗值。無日志附加數(shù)據(jù)庫,仍然報錯“數(shù)據(jù)庫存在一致性錯誤”。
9、由于空數(shù)據(jù)頁都出現(xiàn)在這4個NDF文件后面的十幾個塊中,截斷文件對數(shù)據(jù)完整性影響不大。重新修改系統(tǒng)表和NDF文件,將數(shù)據(jù)庫中記錄NDF塊數(shù)量的值改至報錯的前一頁,計算并修改校驗。重新進(jìn)行無日志附加數(shù)據(jù)庫,報錯“由于數(shù)據(jù)庫沒有完全關(guān)閉,無法重新生成日志”。
10、修改MDF文件中的數(shù)據(jù)庫的狀態(tài)值,讓數(shù)據(jù)庫認(rèn)為是完全關(guān)閉的。重新附加數(shù)據(jù)庫,附加成功。

數(shù)據(jù)庫數(shù)據(jù)驗證:
數(shù)據(jù)庫文件成功附加后,用戶通過數(shù)據(jù)庫中的對象進(jìn)行初步查詢、驗證,經(jīng)過反復(fù)驗證后確認(rèn)表中信息正確,數(shù)據(jù)完整可用。本次數(shù)據(jù)恢復(fù)工作完成。

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

    關(guān)注

    1

    文章

    789

    瀏覽量

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

    關(guān)注

    10

    文章

    711

    瀏覽量

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

    關(guān)注

    7

    文章

    4018

    瀏覽量

    68329
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    MySQL數(shù)據(jù)庫備份恢復(fù)方式對比

    備份是數(shù)據(jù)庫運維中最重要也最容易被忽視的環(huán)節(jié)。"重要"體現(xiàn)在數(shù)據(jù)丟失時備份是唯一的救命稻草,"忽視"體現(xiàn)在很多團(tuán)隊有備份腳本但從未做過恢復(fù)演練,等到真正需要恢復(fù)時才發(fā)現(xiàn)備份
    的頭像 發(fā)表于 03-04 15:39 ?39次閱讀

    Oracle數(shù)據(jù)庫ASM實例無法掛載的數(shù)據(jù)恢復(fù)案例

    一個Oracle數(shù)據(jù)庫故障表現(xiàn)為ASM磁盤組掉線,ASM實例無法掛載(mount)。數(shù)據(jù)庫管理員自行進(jìn)行簡單修復(fù),未能成功,隨后聯(lián)系北亞數(shù)據(jù)恢復(fù)中心
    的頭像 發(fā)表于 02-24 15:19 ?65次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)庫</b>ASM實例無法掛載的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    不用編程不用聯(lián)網(wǎng),實現(xiàn)倍福(BECKHOFF)PLC對接SQL數(shù)據(jù)庫,上報和查詢數(shù)據(jù)的案例

    ?IGT-DSER智能網(wǎng)關(guān)模塊,支持各種PLC、智能儀表、遠(yuǎn)程IO與數(shù)據(jù)庫之間雙向通訊,既可以讀取設(shè)備的數(shù)據(jù)上報到SQL數(shù)據(jù)庫,也可以從數(shù)據(jù)庫
    發(fā)表于 10-10 11:14

    mysql數(shù)據(jù)恢復(fù)—mysql數(shù)據(jù)庫表被truncate的數(shù)據(jù)恢復(fù)案例

    某云ECS網(wǎng)站服務(wù)器,linux操作系統(tǒng),部署了mysql數(shù)據(jù)庫。工作人員在執(zhí)行數(shù)據(jù)庫版本更新測試時,錯誤地將本應(yīng)在測試執(zhí)行的sql腳本在生產(chǎn)
    的頭像 發(fā)表于 09-11 09:28 ?865次閱讀
    mysql<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—mysql<b class='flag-5'>數(shù)據(jù)庫</b>表被truncate的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫故障的數(shù)據(jù)恢復(fù)案例

    備份,僅有一些斷斷續(xù)續(xù)的歸檔日志。 Oracle數(shù)據(jù)庫恢復(fù)流程: 1、檢測數(shù)據(jù)庫故障情況; 2、嘗試掛起并修復(fù)數(shù)據(jù)庫; 3、解析數(shù)據(jù)庫文
    的頭像 發(fā)表于 07-24 11:12 ?631次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—服務(wù)器異常斷電導(dǎo)致Oracle<b class='flag-5'>數(shù)據(jù)庫</b>故障的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    Oracle數(shù)據(jù)恢復(fù)—格式化分區(qū)導(dǎo)致Oracle數(shù)據(jù)庫報錯的數(shù)據(jù)恢復(fù)案例

    完成后將所有硬盤按照原樣還原到原服務(wù)器中,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作基于鏡像文件進(jìn)行,避免對原始磁盤數(shù)據(jù)造成二次破壞?;阽R像
    的頭像 發(fā)表于 07-22 14:06 ?396次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—格式化分區(qū)導(dǎo)致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ù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺操作系統(tǒng)為Windows Server的虛擬機上部署MongoDB數(shù)據(jù)庫。 MongoDB
    的頭像 發(fā)表于 07-01 11:13 ?636次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><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ù)庫被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)庫故障: SQL Server數(shù)據(jù)庫被加密,無法使用。
    的頭像 發(fā)表于 06-25 13:54 ?669次閱讀
    <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'>恢復(fù)數(shù)據(jù)</b>?

    達(dá)夢數(shù)據(jù)庫常用管理SQL命令詳解

    達(dá)夢數(shù)據(jù)庫常用管理SQL命令詳解
    的頭像 發(fā)表于 06-17 15:12 ?7170次閱讀
    達(dá)夢<b class='flag-5'>數(shù)據(jù)庫</b>常用管理<b class='flag-5'>SQL</b>命令詳解

    oracle數(shù)據(jù)恢復(fù)—oracle數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?

    oracle數(shù)據(jù)庫誤執(zhí)行truncate命令導(dǎo)致數(shù)據(jù)丟失是一種常見情況。通常情況下,oracle數(shù)據(jù)庫誤操作刪除數(shù)據(jù)只需要通過備份恢復(fù)數(shù)據(jù)
    的頭像 發(fā)表于 06-05 16:01 ?1041次閱讀
    oracle<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—oracle<b class='flag-5'>數(shù)據(jù)庫</b>誤執(zhí)行錯誤truncate命令如何<b class='flag-5'>恢復(fù)數(shù)據(jù)</b>?

    SQLSERVER數(shù)據(jù)庫是什么

    SQL Server 是由微軟公司開發(fā)的一款 關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,用于存儲、管理和檢索結(jié)構(gòu)化數(shù)據(jù)。它是企業(yè)級應(yīng)用中廣泛使用的數(shù)據(jù)庫
    的頭像 發(fā)表于 05-26 09:19 ?1167次閱讀

    MySQL數(shù)據(jù)庫是什么

    MySQL數(shù)據(jù)庫是一種 開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,由瑞典MySQL AB公司開發(fā),后被Oracle公司收購。它通過結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)存儲、管理和操作,廣
    的頭像 發(fā)表于 05-23 09:18 ?1190次閱讀

    分布式存儲數(shù)據(jù)恢復(fù)—虛擬機上hbase和hive數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    分布式存儲數(shù)據(jù)恢復(fù)環(huán)境: 16臺某品牌R730xd服務(wù)器節(jié)點,每臺服務(wù)器節(jié)點上有數(shù)臺虛擬機。 虛擬機上部署Hbase和Hive數(shù)據(jù)庫。 分布式存儲故障: 數(shù)據(jù)庫底層
    的頭像 發(fā)表于 04-17 11:05 ?713次閱讀

    不用編程不用聯(lián)網(wǎng),PLC和儀表直接對SQL數(shù)據(jù)庫,有異常時還可先將數(shù)據(jù)緩存

    不用PLC編程也不用聯(lián)網(wǎng),還不用電腦,采用IGT-DSER智能網(wǎng)關(guān)實現(xiàn)PLC和儀表直接對SQL數(shù)據(jù)庫。 跟服務(wù)端通訊有異常時還可以先將數(shù)據(jù)暫存,待故障解除后自動重新上報到數(shù)據(jù)庫;也可
    發(fā)表于 04-12 10:47

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺Windows Server操作系統(tǒng)虛擬機上部署MongoDB數(shù)據(jù)庫。 MongoDB
    的頭像 發(fā)表于 04-09 11:34 ?864次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>——MongoDB<b class='flag-5'>數(shù)據(jù)庫文件</b>拷貝后服務(wù)無法啟動的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>