|
-
首頁 > 知識庫 >
SQL-SERVER Log毀損還原好的DB
-
SQL-SERVER Log毀損還原好的DB
如果因為各類原因,導致僅剩下原始的資料檔案(*.mdf),而交易記錄檔遺失或損毀時,您可以
利用以下的方法,來進行復原作業:
1. 先利用 Enterprise Manager建立一個與原本資料庫相同的名稱。
2. 停止SQL Server 運行。
3. 將原始的資料檔案(*.mdf),覆蓋成為新資料庫的資料檔案(*.mdf)。
4. 刪除到該資料庫的交易記錄檔(*.ldf)。
5. 重新啟動 SQL Server ,該資料庫會出現(有疑問)的資訊。
-- 6. 啟動 Query Analyzer,執行以下的程式碼:
/*
若啟用 allow updates (設成 1),則只要具備適當的使用權限,任何使用者都可以利用特定的更新直接
更新系統資料表,也可以建立更新系統資料表的預存程序。
*/
use master
go
exec sp_configure 'allow updates',1
go
RECONFIGURE WITH OVERRIDE
go
--7. 設定該資料庫會成為:緊急模式 (emergency mode)的狀態
update sysdatabases
set status=-32768
where dbid=DB_ID('資料庫名稱')
--8. 利用 dbcc rebuild_log 來重新建立交易記錄檔,執行完成後,資料庫會成為:(僅供 DBO 使用)的狀態
dbcc rebuild_log('資料庫名稱','交易記錄檔的名稱、所在路徑')
/* 例如: 資料庫為: db01, 交易記錄檔的路徑與檔案是在c:\ -- (可自訂)
dbcc rebuild_log('db01','C:\DB01_Log.LDF')
*/
-- 9. 檢查指定的資料庫,但不顯示所有提示訊息,資料不一致等錯誤訊息,依舊會呈現。
DBCC CHECKDB ('資料庫名稱')
WITH NO_INFOMSGS
--10. 調整該資料庫恢復上線,取消(僅供 DBO 使用)狀態
EXEC sp_dboption 'db01','dbo use only','false'
|