sql server資料庫附加錯誤的解決過程
故障描述
本案例中涉及一臺裝有SqlServer資料庫的某品牌r520型號的伺服器儲存,這臺儲存中又包含有兩組磁碟陣列,raid級別都是raid5。正常情況下使用者的SqlServer資料庫存放在D盤中,後因為資料量大導致D盤容量不足,管理員便在E盤中生成了一個.ndf的檔案並且將資料庫路徑指向E盤繼續進行使用。但是大約半個月後資料庫突然出現故障報錯,連線失效,SqlServer資料庫無法附加查詢。管理員於是進行嘗試性資料恢復操作(管理員在原環境下進行了多次嘗試性恢復,導致了原始資料庫檔案被重複的更改、覆蓋,磁碟空間複寫)為後來的資料恢復工作增大了難度。備份資料
按照資料恢復行業慣例,所有資料在進行資料恢復操作前必須對資料進行完整映象,使用dd命令或資料恢復工具將所有磁碟都映象成檔案後對資料庫進行檢測和分析。故障分析
資料庫報錯的原因經工程師初步推斷可能是由於D盤的儲存空間不足導致的邏輯錯誤。工程師對儲存上的兩組raid5磁碟陣列進行分析重組,檢視其中的資料並將raid總的資料庫檔案備份出來進行嘗試性附加資料庫,但資料庫報錯。報錯內容為“主資料庫檔案和次級資料庫檔案不匹配”
資料恢復
資料恢復工程師檢視.ndf檔案底層,但是在該檔案中發現的資料量微乎其微,幾乎沒有任何資料,工程師將.mdf檔案和.ndf檔案之間的關聯關係取消,單獨使用.mdf檔案進行附加資料庫依然有報錯,報錯內容為“日誌檔案(.ldf)和資料庫檔案(.mdf)不匹配”。工程師繼續進行了資料庫的五資料庫附加操作,資料庫可以附加但系統表有損壞,資料庫依然無法正常使用。工程師嘗試修復資料庫系統表但是沒有成功,資料表損壞嚴重,修復難度極大且效果難以保障,資料恢復工程師決定放棄修復資料錶轉而嘗試其他方法。
資料恢復工程師將資料恢復的突破口放在資料庫記錄上,透過自己編寫的一個小程式將資料庫記錄提取出來,再根據客戶以的資料庫備份資料獲取到該資料庫的表結構。重構資料庫表結構,然後將資料庫記錄匯入新表。資料恢復成功
資料庫使用小提示
在資料庫使用過程中,要合理分配資料庫檔案所在磁碟空間,及時清理垃圾資料,保證資料庫的正常、安全執行。來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2155469/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql server資料庫連線失敗/無法附加解決過程SQLServer資料庫
- 資料庫資料恢復—附加資料庫錯誤823的SQL Server資料恢復案例資料庫資料恢復SQLServer
- sql server資料庫錯誤資料恢復(資料庫連線失效,無法附加查詢)SQLServer資料庫資料恢復
- SQL Server DACPAC資料庫部署錯誤SQLServer資料庫
- SQL Server 2016資料庫快照代理過程詳解SQLServer資料庫
- SQL Server 資料庫檔案的分離和附加SQLServer資料庫
- SQL Server資料庫出現邏輯錯誤的資料恢復SQLServer資料庫資料恢復
- Sql Server 資料庫中呼叫dll檔案的過程SQLServer資料庫
- 【資料庫資料恢復】透過資料頁恢復Sql Server資料庫資料的過程資料庫資料恢復SQLServer
- 一種SYBASE資料庫錯誤DBSQL_SQL_ERROR的解決方式資料庫SQLError
- 一個 ExpressionChangedAfterItHasBeenCheckedError 錯誤的解決過程ExpressError
- 解決遷移資料庫錯誤,索引長度過長資料庫索引
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- SQL Server資料庫遠端更新目標表資料的儲存過程SQLServer資料庫儲存過程
- SQL Server 資料庫無法重新命名的解決SQLServer資料庫
- 【資料庫資料恢復】磁碟空間不足導致sql server錯誤的資料恢復資料庫資料恢復SQLServer
- 解決無法連線SQL Server資料庫的方法BWSQLServer資料庫
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- 資料庫連線錯誤的原因及解決方法資料庫
- SQL SERVER 資料庫被標記為“可疑”的解決辦法SQLServer資料庫
- SQL Server實戰一:建立、分離、附加、刪除、備份資料庫SQLServer資料庫
- 解決 PBootCMS 中因資料庫名稱錯誤導致的“執行 SQL 發生錯誤!錯誤:no such table: ay_config”問題boot資料庫SQL
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- 恢復MySQL資料庫建立儲存過程是遇到錯誤MySql資料庫儲存過程
- tensorflow安裝使用過程錯誤及解決方法
- SQL Server資料庫還原過程記錄,bak檔案+mdf檔案SQLServer資料庫
- HTTP 錯誤 500.19- Internal Server Error 錯誤解決方法HTTPServerError
- 資料庫映象 (SQL Server)資料庫SQLServer
- SQL Server資料庫安全SQLServer資料庫
- 通過SQL Server資料庫映象保護虛擬資料庫ICSQLServer資料庫
- SQLServer附加資料庫是隻讀模式的解決辦法SQLServer資料庫模式
- 多年客戶金幣計算錯誤解決過程
- Windows 下 Laravel Mix 資源編譯過程以及產生的錯誤解決WindowsLaravel編譯
- Blazor使用sql server 資料庫BlazorSQLServer資料庫
- SQL Server資料庫巡檢SQLServer資料庫
- sql server 2005資料庫快照SQLServer資料庫