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

無資料庫日誌檔案恢復資料庫方法兩則(二)

     編輯:關於SqlServer

方法二:完整實戰記錄

事故起因: 日誌檔增長至 3GB,嘗試收縮失敗後誤刪除日誌檔,資料庫進入置疑狀態,且從未備份,僅有半年前遷移備份。

無效嘗試

  • 附加資料庫: sp_detach_db + sp_attach_single_file_db,SQL Server 質疑資料/日誌檔不符,失敗。
  • DTS 匯出: 無法讀取資料庫,報錯「初始化上下文發生錯誤」。
  • 緊急模式: 依網路流程操作(移走資料檔→重建同名庫→覆蓋回原檔→設緊急模式→單用戶→DBCC CHECKDB),重啟後仍置疑,雖可 SELECT 但無法啟動交易(錯誤 -2147467259)。

最終成功步驟

  1. 設資料庫為緊急模式。
  2. 停止 SQL Server 服務。
  3. 移走原資料檔 XXX_Data.mdf。
  4. 重建同名資料庫 XXX。
  5. 停止 SQL Server 服務。
  6. 覆蓋回原資料檔。
  7. 執行:USE MASTER; GO; sp_configure 'allow updates', 1; reconfigure with override; GO
  8. UPDATE SYSDATABASES SET STATUS = 32768 WHERE NAME = 'XXX'
  9. 重啟 SQL Server 服務。
  10. 執行:sp_dboption 'XXX', 'single user', 'true'
  11. 執行:DBCC CHECKDB('XXX'),檢查通過,sysobjects 273 列、sysindexes 202 列等。
  12. 後續步驟:將狀態改回 28、關閉 allow updates、關閉單用戶模式,資料庫完全恢復正常。

關鍵差異在於:先設緊急模式、再重建同名庫覆蓋檔案、最後單用戶模式執行 DBCC CHECKDB,避免了先前嘗試中重啟後仍置疑的問題。

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