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

SQL Server 錯誤 9003:LSN 無效修復實戰

     編輯:關於SqlServer

附加資料庫時遇到錯誤 9003:「傳遞給資料庫的記錄檔掃描號 (LSN) 無效,可能資料損壞或 .ldf/.mdf 不匹配」。典型原因:記錄檔損壞、非正常關機導致交易記錄不一致。

修復步驟 (以資料庫 POS 為例)

  1. 在 SSMS 建立同名空資料庫 pos (產生 pos_data.mdf、pos_log.ldf)。
  2. 停止 SQL Server 服務。
  3. 刪除新建的 pos_log.ldf,用待修復的 .mdf 覆蓋 pos_data.mdf。
  4. 啟動 SQL Server,資料庫狀態顯示「置疑」。
  5. 允許系統目錄直接修改:
USE master; GO
EXEC sp_configure 'allow updates', 1; GO
RECONFIGURE WITH OVERRIDE; GO
  1. 將資料庫設為緊急模式:
UPDATE sysdatabases SET status = -32768 WHERE dbid = DB_ID('pos'); GO
  1. 重建記錄檔:
DBCC REBUILD_LOG('pos', 'D:\Program Files\Microsoft SQL Server\MSSQL\Data\pos_log.ldf'); GO
  1. 執行 DBCC CHECKDB('pos', REPAIR_ALLOW_DATA_LOSS) 檢查修復。
  2. 關閉系統目錄更新:sp_configure 'allow updates', 0; RECONFIGURE WITH OVERRIDE;
  3. 設回多使用者模式:sp_dboption 'pos', 'single user', 'false'

警示: REPAIR_ALLOW_DATA_LOSS 可能導致資料遺失,務必先備份 .mdf。若資料極重要,建議尋求專業災難恢復服務。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved