恢復(fù)模式(Recovery Model)旨在控制事務(wù)日志維護(hù)?;謴?fù)模式說(shuō)明了工作丟失的風(fēng)險(xiǎn),能否恢復(fù)到時(shí)點(diǎn)?
SQL Server數(shù)據(jù)庫(kù)有三種恢復(fù)模式:簡(jiǎn)單恢復(fù)模式、完整恢復(fù)模式和大容量日志恢復(fù)模式。
相對(duì)于簡(jiǎn)單恢復(fù)模式而言,完整恢復(fù)模式和大容量日志恢復(fù)模式提供了更強(qiáng)的數(shù)據(jù)保護(hù)功能。這些恢復(fù)模式都是基于備份事務(wù)日志來(lái)提供完整的可恢復(fù)性及在最大范圍的故障情形內(nèi)防止丟失工作。通常,數(shù)據(jù)庫(kù)使用完整恢復(fù)模式或簡(jiǎn)單恢復(fù)模式。
下面對(duì)三種恢復(fù)模式做一個(gè)比較:
恢復(fù)模式
日志備份
恢復(fù)點(diǎn)
優(yōu)點(diǎn)
缺點(diǎn)
解決方案及建議
簡(jiǎn)單(Simple)
無(wú)日志備份。
自動(dòng)回收日志空間以減少空間需求,實(shí)際上不再需要管理事務(wù)日志空間。
最新備份之后的更改不受保護(hù)。在發(fā)生災(zāi)難時(shí),這些更改必須重做。只能恢復(fù)到備份的結(jié)尾。
簡(jiǎn)單恢復(fù)模式可最大程度地減少事務(wù)日志的管理開銷,因?yàn)椴粋浞菔聞?wù)日志。
如果數(shù)據(jù)庫(kù)損壞,則簡(jiǎn)單恢復(fù)模式將面臨極大的工作丟失風(fēng)險(xiǎn)。數(shù)據(jù)只能恢復(fù)到已丟失數(shù)據(jù)的最新備份。
在簡(jiǎn)單恢復(fù)模式下,備份間隔應(yīng)盡可能短,以防止大量丟失數(shù)據(jù)。簡(jiǎn)單恢復(fù)模式并不適合生產(chǎn)系統(tǒng),因?yàn)閷?duì)生產(chǎn)系統(tǒng)而言,丟失最新的更改是無(wú)法接受的。在這種情況下,我們建議使用完整恢復(fù)模式。
完整(Full)
需要日志備份。
理論上可以恢復(fù)到任意時(shí)點(diǎn)。
數(shù)據(jù)文件丟失或損壞不會(huì)導(dǎo)致丟失工作。
此模式完整記錄所有事務(wù),占用大量空間。
大容量(Bulk-logged)
需要日志備份。