前言:最近項目接近了尾聲,隨之而來的是維護問題,當(dāng)然涉及到數(shù)據(jù)庫的數(shù)據(jù)維護,通過資料和實際操作整理有關(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),別的進程就不能再訪問數(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ù)專欄