文章插圖

文章插圖
SQL Server是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數據庫管理系統 , 實現了與WindowsNT的有機結合 , 提供了基于事務的企業級信息管理系統方案 。本次需要進行數據恢復的服務器是一臺r520型號存儲 , 共有7塊SAS硬盤分別組成RAID1和RAID5兩組磁盤陣列 。
主要SQL Server數據庫存放在C盤中 , 在使用過程中 , 客戶發現C盤容量即將占滿 , 于是將數據庫路徑指向了D盤 , 在D盤生成了一個.ndf文件 。
客戶在繼續使用了大約10天之后 , 數據庫出現故障 , 連接失效 , 無法正常附加查詢 。在遇到這種情況是應該如何進行正確操作呢?
考慮到數據的安全性以及可還原性 , 在做數據恢復之前需要對所有源數據做備份 , 以防萬一其他原因導致數據無法再次恢復 。使用dd命令或winhex工具將所有磁盤都鏡像成文件 。
【故障分析】
首先分析故障原因:由于數據庫文件所在磁盤容量不足 , 導致數據庫無法繼續正常運行 , 出現邏輯錯誤;
再分析RAID組結構:客戶服務器上共7塊300G硬盤 , 其中2塊硬盤做RAID 1 , 用于安裝操作系統 , 其余5塊硬盤做RAID 5存放數據 。分析RAID 1和RAID 5的相關結構 , 重組虛擬出RAID 1和RAID 5 , 查看其中數據 。
再分析原始數據庫文件:由于客戶在數據庫發生故障之后 , 進行過多次數據庫恢復嘗試 , 并且每一次嘗試都是在源環境下進行的 , 導致原始數據庫文件被更改覆蓋 , 并且磁盤空間被多次復寫 , 無法使用嘗試恢復之后的數據庫文件進行修復 。詢問客戶得知 , 客戶在數據庫發生故障的時候 , 備份過一分原始的故障數據庫文件 。
【數據庫修復】
從虛擬出的RAID 5空間中將客戶之前備份的數據庫文件拷貝出來 , 嘗試在數據庫中附加 , 附加失敗 。錯誤提示主數據庫文件和次級數據庫文件不匹配 , 查看.ndf文件底層 , 發現.ndf文件中幾乎沒有數據 , 嘗試取消.mdf文件和.ndf文件之間關聯 , 只用.mdf文件進行附加 。
嘗試后發現 , 只用.mdf文件附加時也發生錯誤 , 但是錯誤提示改變 。
此時錯誤提示日志文件(.ldf)和數據庫文件(.mdf)不匹配 。之后對數據庫嘗試進行無數據庫附加 , 附加成功 。但是發現數據庫系統表損壞 , 無法正常使用 。對數據庫的系統表嘗試修復 , 但由于系統表損壞過于嚴重 , 無法修復 。
【數據庫記錄提取】
解析數據庫文件中的數據庫記錄 , 編寫相應的程序提取數據庫文件中的數據庫記錄 。根據客戶以前的數據庫備份獲取數據庫中的表結構 , 重構表結構并肩提取出的數據庫記錄導入到新的表中 , 進行數據驗證 , 如數據沒有問題 , 即本次數據恢復成功 。
【北亞數據恢復小貼士】
【sql server恢復掛起原因 sql server數據庫恢復掛起的解決辦法】在數據庫使用過程中 , 要合理分配數據庫文件所在的磁盤空間 , 及時清理垃圾數據 , 保證數據庫的正常及安全運行 , 如遇到故障情況時 , 當不知道如何正確操作時 , 請及時聯系相關專業數據恢復工程師進行數據恢復操作 。
- mysql誤刪表怎么恢復 mysql刪除表如何恢復數據
- 短信中心號碼怎么恢復 如何找回信息中心號碼
- SQL去掉重復 sqlserver 去除重復數據
- Xp系統恢復出廠設置 xp恢復出廠設置方法
- 安裝windowserver2012密匙 windowsserver2012安裝密鑰
- wps不小心沒有保存文檔怎么恢復 wps文件沒保存如何恢復
- mysql jar包下載安裝教程 java導入mysql驅動包
- 連接MySQL失敗 mysql連接不成功怎么辦
- 怎么連接plsql plsql可以連接哪些數據庫
- 表中增加字段備注 sql表增加字段和注釋
