首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2005 資料庫校驗和錯誤修復實戰

     編輯:關於SqlServer

錯誤現象

SQL Server 偵測到基於一致性的邏輯 I/O 錯誤:校驗和不正確(預期 0x7c781313,實際 0x67a313c9),檔案 E_BLOCK_DB.mdf,頁面 (1:1306)。

修復步驟

  1. 建立同名資料庫,停止服務,用損壞的 .mdf、.ldf 覆蓋新建檔案。
  2. 啟動服務,資料庫進入 SUSPECT 狀態。
  3. 執行緊急修復腳本:
ALTER DATABASE [DBName] SET EMERGENCY;
GO
USE master;
GO
DECLARE @dbname VARCHAR(255) = 'DBName';
EXEC sp_dboption @dbname, 'single', 'true';  -- 單用戶模式
DBCC CHECKDB(@dbname, REPAIR_ALLOW_DATA_LOSS);
DBCC CHECKDB(@dbname, REPAIR_REBUILD);
EXEC sp_dboption @dbname, 'single', 'false'; -- 回多用戶
GO
  1. 若出現「其他檔案與主檔案不符」錯誤,再執行一次 DBCC CHECKDB。

關鍵提醒

  • REPAIR_ALLOW_DATA_LOSS 可能導致資料遺失,務必先嘗試備份還原。
  • 修復後必須執行 DBCC CHECKDB 驗證一致性。
  • 生產環境建議配合頁面還原或檔案群還原,將資料損失降至最低。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved