| 
           	      
                    
           	      	
           	      		- 
           	      			首頁 > 知識庫 > 
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'
           	      	   
           	      	                    
           	       |