前言:最近項(xiàng)目接近了尾聲,隨之而來(lái)的是維護(hù)問題,當(dāng)然涉及到數(shù)據(jù)庫(kù)的數(shù)據(jù)維護(hù),通過(guò)資料和實(shí)際操作整理有關(guān)誤操作后根據(jù)日志還原數(shù)據(jù)庫(kù)。
前提:①必須有數(shù)據(jù)庫(kù)的完整備份(做個(gè)備份計(jì)劃);②數(shù)據(jù)庫(kù)恢復(fù)模式是完整的(full)。
步驟:①發(fā)現(xiàn)誤操作時(shí),記錄下時(shí)間點(diǎn)date并備份日志文件(備份腳本:use master backup log 數(shù)據(jù)庫(kù) to disk=n'g:cclog.bak' with norecovery);
②還原數(shù)據(jù)庫(kù)(還原腳本:use master restore database 數(shù)據(jù)庫(kù) from disk = n'g:cc.bak' with norecovery, replace);
③還原日志(還原日志腳本:use master restore log 數(shù)據(jù)庫(kù) from disk = n'g:cclog.bak' with stopat = n'date' , recovery);
④以上3步都操作成功后則還原成功,此時(shí)查看數(shù)據(jù)庫(kù)發(fā)現(xiàn)誤刪除操作的數(shù)據(jù)又回來(lái)了。
說(shuō)明:①norecovery是用來(lái)備份尾日志的,這樣備份日志的時(shí)候數(shù)據(jù)庫(kù)處于恢復(fù)狀態(tài),別的進(jìn)程就不能再訪問數(shù)據(jù)庫(kù),日志就不會(huì)再增加了,這樣在還原的時(shí)候就可以正?;謴?fù)了。還原備份的時(shí)候如果想同時(shí)還原之后的日志,必須加上norecovery才可以還原日志。
②時(shí)間點(diǎn)date格式為m/d/yyyy h:m:s pm,是12小時(shí)制,例如:1/23/2014 1:17:10 pm表示2014年1月23號(hào)下午1點(diǎn)17分10秒,此時(shí)間點(diǎn)只要在誤操作前就可以。
更多信息請(qǐng)查看IT技術(shù)專欄