最近在查詢SQL時遇到SQL文件錯誤,可能是文件數據已損壞。解決過程分享給大家。
問題描述
消息 824,級別 24,狀態 2,第 1 行
SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:19741588,但實際為 0:0)。在文件 'D:\analytics.MDF' 中、偏移量為 0x000025a7728000 的位置對數據庫 ID 10 中的頁 (1:19741588) 執行 讀取 期間,發生了該錯誤。SQL Server 錯誤日志或系統事件日志中的其他消息可能提供了更詳細信息。這是一個威脅數據庫完整性的嚴重錯誤條件,必須立即糾正。請執行完整的數據庫一致性檢查(DBCC CHECKDB)。此錯誤可以由許多因素導致;有關詳細信息,請參閱 SQL Server 聯機叢書。
解決方案
1.備份數據庫(重要);
2.執行修復SQL語句(分步執行):
--1.設置數據庫為單用戶模式(會立即斷開其他所有用戶的連接) ALTER DATABASE YourDatabaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO --2.修復數據庫(允許數據丟失) DBCC CHECKDB ('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS) --3.單用戶模式關閉(多用戶模式開啟) ALTER DATABASE YourDatabaseName SET MULTI_USER; GO
第2步執行的時間,一般視數據庫大小。本次是200GB,大概1個多小時執行完畢。
特別注意執行完第2步后,執行第3步,打開多用戶模式。否則造成其他用戶無法連接,而且不會有任何提示。
參考文章
http://blog.csdn.net/pj386960300/article/details/6833814
http://blog.csdn.net/szstephenzhou/article/details/39670309
希望本文對你有幫助。