三種SQL Server 恢復模式的比較
此文章主要向大家講述的是SQL Server 恢復模式,我們大家都知道恢復模式(Recovery Model)的主要作用在于控制事務日志維護。SQL Server數據庫的恢復模式說明了工作丟失的風險,能否恢復到時點?
SQL Server數據庫有三種恢復模式:簡單恢復模式、完整恢復模式和大容量日志恢復模式。
相對于簡單恢復模式而言,完整SQL Server 恢復模式和大容量日志恢復模式提供了更強的數據保護功能。這些恢復模式都是基于備份事務日志來提供完整的可恢復性及在***范圍的故障情形內防止丟失工作。通常,數據庫使用完整恢復模式或簡單恢復模式。
下面對三種恢復模式做一個比較:
恢復模式
日志備份
恢復點
優點
缺點
解決方案及建議
簡單(Simple)
無日志備份。
自動回收日志空間以減少空間需求,實際上不再需要管理事務日志空間。
***備份之后的更改不受保護。在發生災難時,這些更改必須重做。只能恢復到備份的結尾。
簡單恢復模式可***程度地減少事務日志的管理開銷,因為不備份事務日志。
如果數據庫損壞,則簡單SQL Server 恢復模式將面臨極大的工作丟失風險。數據只能恢復到已丟失數據的***備份。
在簡單恢復模式下,備份間隔應盡可能短,以防止大量丟失數據。簡單恢復模式并不適合生產系統,因為對生產系統而言,丟失***的更改是無法接受的。在這種情況下,我們建議使用完整恢復模式。
完整(Full)
需要日志備份。
理論上可以恢復到任意時點。
數據文件丟失或損壞不會導致丟失工作。
此模式完整記錄所有事務,占用大量空間。
大容量(Bulk-logged)
需要日志備份。
如果在***日志備份后發生日志損壞或執行大容量日志記錄操作,則必須重做自該上次備份之后所做的更改。 可以恢復到任何備份的結尾。不支持時點恢復。
該模式是完整恢復模式的附加模式,允許執行高性能的大容量復制操作。通過使用最小方式記錄大多數大容量操作,減少日志空間使用量。
比完整模式節省日志存儲空間。
對于某些大規模大容量操作(如大容量導入或索引創建),暫時切換到大容量日志恢復模式可提高性能并減少日志空間使用量。由于大容量日志恢復模式不支持時點恢復,因此必須在增大日志備份與增加工作丟失風險之間進行權衡。
注意:
1. 適合于數據庫的恢復模式取決于數據庫的可用性和恢復要求。
2. 在完整恢復模式和大容量日志SQL Server 恢復模式下,必須進行日志備份。如果不想進行日志備份,則請使用簡單恢復模式。
【編輯推薦】
- SQL Server自增字段插入值的步驟
- SQL Server數據庫之一個 SQL 2005 XML 查詢的例子
- SQL Server數據庫之查看SQL日志文件大小的命令
- SQL Server存儲過程之新手導航
- SQL Server 2008數據格式修改時應注意什么?