Sql-Server

基於邏輯一致性的 I/O 錯誤

  • May 9, 2017

我正在使用 SQL Server 2008 R2。我的伺服器意外關閉。重新啟動後,我無法訪問我的數據庫。我收到一些表的以下錯誤:

SQL Server 檢測到基於邏輯一致性的 I/O 錯誤:校驗和不正確(預期:0xd1723da7;實際:0xab6a6efb)。它發生在讀取文件“H:\BACK UP\SQL17052014\databasse.mdf”中偏移量 0x00000021fb0000 的數據庫 ID 16 中的頁面 (1:69592) 期間。

SQL Server 錯誤日誌或系統事件日誌中的其他消息可能會提供更多詳細資訊。這是威脅數據庫完整性的嚴重錯誤情況,必須立即糾正。完成完整的數據庫一致性檢查 (DBCC CHECKDB)。這個錯誤可能是由許多因素引起的;有關詳細資訊,請參閱 SQL Server 聯機叢書。

我試過了DBCC CHECKDB。它在一頁中給出錯誤。我試圖修復該頁面,但無法修復。

誰能幫我解決這個問題?

如果確實只有一個頁面受到影響,您應該能夠執行頁面級恢復以恢復數據庫。完整的細節在這裡: http ://www.sqlpassion.at/archive/2015/10/13/how-to-perform-a-page-level-restore-in-sql-server/

這確實假設您最近對數據庫進行了完整備份。

如果錯誤頁面存在於(非聚集)索引中,最簡單的做法是刪除並重新創建索引。

如果頁面在本身(即聚集索引或堆)中,那麼標準答案是:從最近的備份中恢復。要麼是整個數據庫,要麼是還原一個副本並僅複製該表,或者類似於另一個答案提到的頁面級還原。

引用自:https://dba.stackexchange.com/questions/124425