恢復(fù)模式說明了工作丟失的風(fēng)險,能否恢復(fù)到時點(diǎn)? SQL Server數(shù)據(jù)庫有三種恢復(fù)模式:簡單恢復(fù)模式、完整恢復(fù)模式和大容量日志恢復(fù)模式。 相對于簡單恢復(fù)模式而言,完整恢復(fù)模式和大容量日志恢復(fù)模式提供了更強(qiáng)的數(shù)據(jù)保護(hù)功能。這些恢復(fù)模式都是基于備份事務(wù)日志來提供完整的可恢復(fù)性及在最大范圍的故障情形內(nèi)防止丟失工作。通常,數(shù)據(jù)庫使用完整恢復(fù)模式或簡單恢復(fù)模式。 下面對三種恢復(fù)模式做一個比較: 恢復(fù)模式 日志備份 恢復(fù)點(diǎn) 優(yōu)點(diǎn) 缺點(diǎn) 解決方案及建議 簡單(Simple) 無日志備份。 自動回收日志空間以減少空間需求,實(shí)際上不再需要管理事務(wù)日志空間。 最新備份之后的更改不受保護(hù)。在發(fā)生災(zāi)難時,這些更改必須重做。只能恢復(fù)到備份的結(jié)尾。 簡單恢復(fù)模式可最大程度地減少事務(wù)日志的管理開銷,因?yàn)椴粋浞菔聞?wù)日志。 如果數(shù)據(jù)庫損壞,則簡單恢復(fù)模式將面臨極大的工作丟失風(fēng)險。數(shù)據(jù)只能恢復(fù)到已丟失數(shù)據(jù)的最新備份。 在簡單恢復(fù)模式下,備份間隔應(yīng)盡可能短,以防止大量丟失數(shù)據(jù)。簡單恢復(fù)模式并不適合生產(chǎn)系統(tǒng),因?yàn)閷ιa(chǎn)系統(tǒng)而言,丟失最新的更改是無法接受的。在這種情況下,我們建議使用完整恢復(fù)模式。 完整(Full) 需要日志備份。 理論上可以恢復(fù)到任意時點(diǎn)。 數(shù)據(jù)文件丟失或損壞不會導(dǎo)致丟失工作。 此模式完整記錄所有事務(wù),占用大量空間。 大容量(Bulk-logged) 需要日志備份。 如果在最新日志備份后發(fā)生日志損壞或執(zhí)行大容量日志記錄操作,則必須重做自該上次備份之后所做的更改。 可以恢復(fù)到任何備份的結(jié)尾。不支持時點(diǎn)恢復(fù)。 該模式是完整恢復(fù)模式的附加模式,允許執(zhí)行高性能的大容量復(fù)制操作。通過使用最小方式記錄大多數(shù)大容量操作,減少日志空間使用量。 比完整模式節(jié)省日志存儲空間。 對于某些大規(guī)模大容量操作(如大容量導(dǎo)入或索引創(chuàng)建),暫時切換到大容量日志恢復(fù)模式可提高性能并減少日志空間使用量。由于大容量日志恢復(fù)模式不支持時點(diǎn)恢復(fù),因此必須在增大日志備份與增加工作丟失風(fēng)險之間進(jìn)行權(quán)衡。 注意:
1. 適合于數(shù)據(jù)庫的恢復(fù)模式取決于數(shù)據(jù)庫的可用性和恢復(fù)要求。
2. 在完整恢復(fù)模式和大容量日志恢復(fù)模式下,必須進(jìn)行日志備份。