今天筆者講講怎樣利用LDF文件還原數據方法,恢復過程是先創建數據TEST、創建表TEMP_01,在表TEMP_01中插入100條數據,接著備份現有的數據庫,再次向表TEMP_01中插入50條數據,記錄下當前正確數據的時間time1,二分鐘后模擬數據文件MDF損壞,備份數據庫尾日志,最后將數據庫恢復到time1 時間。
數據庫詳細還原步驟:
1) 創建數據TEST
CREATE DATABASE TEST
2) 創建表TEMP_01
CREATE TABLE TEMP_01
(ID [int] NOT NULL PRIMARY KEY,
NAME [datetime] NOT NULL,
ADDRESS varchar(50) NOT NULL)
3) 在表TEMP_01中插入100條數據
use TEST
declare @i int
set @i=1
while(@i<=100)
begin
INSERT INTO TEMP_01 VALUES (@i,getdate(),’ADDRESS ‘ + convert(varchar(50),@i))
set @i=@i+1
end
查看數據
select * from TEST
4) 備份現有的數據庫
--------做一次完整數據庫備份
backup database TEST to disk =N’f:\db-recovery\TEST.bak’
5) 再次向表TEMP_01 中插入50條數據
use TEST
declare @i int
set @i=101
while(@i<=150)
begin
INSERT INTO TEMP_01 VALUES (@i,getdate(),’ADDRESS ‘ + convert(varchar(50),@i))
set @i=@i+1
end
查看數據
select * from TEMP_01
6) 記錄下當前正確數據的時間time1
當前時間為:2009-8-21 15:18:33
7) 2分鐘后模擬數據文件損壞
停止SQL SERVER 服務 net stop mysqlserver
刪除TEST.mdf 文件
新建文本文件,并重命名為:TEST.mdf
啟動SQL SERVER 服務 net stop mysqlserver
數據庫TEST無法打開,證明已損壞
8) 備份數據庫尾日志
啟動 sqlcmd 管理工具
備份尾日志
backup log TEST to disk=N’f:\db-recovery\aaaa.bak’ with no_truncate
解釋一下no_truncate的作用:
如果數據庫處于離線狀態并且無法啟動。
嘗試執行尾日志備份。由于此時不會發生任何事務,所以 WITH NORECOVERY 是可選的。如果數據庫受損,請使用
WITH CONTINUE_AFTER_ERROR 或 WITH NO_TRUNCATE。
BACKUP LOG database_name TO [WITH { CONTINUE_AFTER_ERROR " NO_TRUNCATE }
重要提示:
除非數據庫受損,否則不建議使用 NO_TRUNCATE。
9) 將數據庫恢復到time1時間
–恢復最后一次正常配置
在sqlcmd中執行如下語句進行恢復
restore database test from disk=’f:\db-recovery\TEST.bak’ with norecovery
restore log test from disk=’f:\db-recovery\aaaa.bak’ with recovery
解釋一下 with norecovery 和 with recovery的作用
NORECOVERY:每當您準備對數據庫繼續執行還原操作時,請使用 NORECOVERY。NORECOVERY 使數據庫進入還原狀態。這確保了數據庫在尾日志備份后不會更改。
RECOVERY:將數據庫從恢復狀態改變到正常狀態
以上是數據庫恢復過程,是利用LDF文件將數據庫數據還原,希望對您有幫助!
3)RAID 卷管理器可以實現RAID算法,把分離的磁盤組織成RAID子系統。一般說來,RAID機柜...
U盤,相信大家都有使用過的,哈哈,數據恢復就是不是人人都有恢復過的。我們一般買來...
有時U盤殺完病毒后,發現里面的有些文件夾不見了,別擔心,這些不見的文件夾只是被隱藏了...
日立移動硬盤打不開怎么辦,日立移動硬盤打不開的解決方法,日立移動硬盤故障解決
經常有網友在網上咨詢,說把不該刪改的文件刪改了?不巧剛又清空了回收站?心情忐忑不安...
最近,公司組建軟件部,開發節能系統軟件,購進了一批惠普電腦,使用ubuntu系統和win 7...
隨著網絡的增大和需要管理的機器增多,故障診斷和網絡分析成了企業網以及網吧等網絡管理...