前言:最近項目接近了尾聲,隨之而來的是維護(hù)問題,當(dāng)然涉及到數(shù)據(jù)庫的數(shù)據(jù)維護(hù),通過資料和實際操作整理有關(guān)誤操作后根據(jù)日志還原數(shù)據(jù)庫。
前提:①必須有數(shù)據(jù)庫的完整備份(做個備份計劃);②數(shù)據(jù)庫恢復(fù)模式是完整的(FULL)。
步驟:①發(fā)現(xiàn)誤操作時,記錄下時間點date并備份日志文件(備份腳本:USE master BACKUP LOG 數(shù)據(jù)庫 TO disk=N'G:cclog.bak' WITH NORECOVERY);
②還原數(shù)據(jù)庫(還原腳本:USE master RESTORE DATABASE 數(shù)據(jù)庫 FROM DISK = N'G:cc.bak' WITH NORECOVERY, REPLACE);
③還原日志(還原日志腳本:USE master RESTORE LOG 數(shù)據(jù)庫 FROM DISK = N'G:cclog.bak' WITH STOPAT = N'date' , RECOVERY);
④以上3步都操作成功后則還原成功,此時查看數(shù)據(jù)庫發(fā)現(xiàn)誤刪除操作的數(shù)據(jù)又回來了。
說明:①"NORECOVERY"是用來備份尾日志的,這樣備份日志的時候數(shù)據(jù)庫處于恢復(fù)狀態(tài),別的進(jìn)程就不能再訪問數(shù)據(jù)庫,日志就不會再增加了,這樣在還原的時候就可以正?;謴?fù)了。還原備份的時候如果想同時還原之后的日志,必須加上Norecovery才可以還原日志。
②時間點"date"格式為"M/D/YYYY H:m:s PM",是12小時制,例如:1/23/2014 1:17:10 PM表示2014年1月23號下午1點17分10秒,此時間點只要在誤操作前就可以。
更多信息請查看IT技術(shù)專欄