SQL Server數(shù)據(jù)庫的三種恢復模式:簡單恢復模式、完整恢復模式和大容量日志恢復模式
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
概述:恢復模式旨在控制事務日志維護。有三種恢復模式:簡單恢復模式、完整恢復模式和大容量日志恢復模式。通常,數(shù)據(jù)庫使用完整恢復模式或簡單恢復模式。 圖文查看:可使用SQL Server Management Studio工具,選擇相應的數(shù)據(jù)庫,右鍵屬性查看具體的數(shù)據(jù)庫恢復模式,如下圖所示: 下表概述了這三種恢復模式的基本信息情況供參考: 1、Simple 簡單恢復模式簡單恢復模式可最大程度地減少事務日志的管理開銷,因為不備份事務日志。如果數(shù)據(jù)庫損壞,則簡單恢復模式將面臨極大的工作丟失風險。數(shù)據(jù)只能恢復到已丟失數(shù)據(jù)的最新備份。因此,在簡單恢復模式下,備份間隔應盡可能短,以防止大量丟失數(shù)據(jù)。但是,間隔的長度應該足以避免備份開銷影響生產(chǎn)工作。在備份策略中加入差異備份可有助于減少開銷。 Simple模式的舊稱叫”Checkpoint with truncate log“,其實這個名字更形象,在Simple模式下,SQL Server會在每次checkpoint或backup之后自動截斷l(xiāng)og,也就是丟棄所有的inactive log records,僅保留用于實例啟動時自動發(fā)生的instance recovery所需的少量log,這樣做的好處是log文件非常小,不需要DBA去維護、備份log,但壞處也是顯而易見的,就是一旦數(shù)據(jù)庫出現(xiàn)異常,需要恢復時,最多只能恢復到上一次的備份,無法恢復到最近可用狀態(tài),因為log丟失了。 2、Full 完整恢復模式相對于簡單恢復模式而言,完整恢復模式和大容量日志恢復模式提供了更強的數(shù)據(jù)保護功能。這些恢復模式基于備份事務日志來提供完整的可恢復性及在最大范圍的故障情形內(nèi)防止丟失工作。 為需要事務持久性的數(shù)據(jù)庫提供了常規(guī)數(shù)據(jù)庫維護模式。 通俗的講 和Simple模式相反,F(xiàn)ull模式的舊稱叫”Checkpoint without truncate log“,也就是SQL Server不主動截斷l(xiāng)og,只有備份log之后,才可以截斷l(xiāng)og,否則log文件會一直增大,直到撐爆硬盤,因此需要部署一個job定時備份log。Full的好處是可以做point-in-time恢復,最大限度的保證數(shù)據(jù)不丟失。缺點就是DBA需要維護log,增加人員成本(其實也就是多了定時備份log這項工作而已)。 3、Bulk-logged 大容量日志恢復此恢復模式可大容量日志記錄大多數(shù)大容量操作它只用作完整恢復模式的附加模式。對于某些大規(guī)模大容量操作(如大容量導入或索引創(chuàng)建),暫時切換到大容量日志恢復模式可提高性能并減少日志空間使用量。仍需要日志備份。與完整恢復模式相同,大容量日志恢復模式也將事務日志記錄保留到對其備份完畢為止。由于大容量日志恢復模式不支持時點恢復,因此必須在增大日志備份與增加工作丟失風險之間進行權衡。 通俗的講 Bulk-logged模式和full模式類似,唯一的不同是針對以下Bulk操作,會產(chǎn)生盡量少的log:1) Bulk load operations (bcp and BULK INSERT). 2) SELECT INTO. 3) Create/drop/rebuild index 眾所周知,通常bulk操作會產(chǎn)生大量的log,對SQL Server的性能有較大影響,bulk-logged模式的作用就在于降低這種性能影響,并防止log文件過分增長,但是它的問題是無法point-in-time恢復到包含bulk-logged record的這段時間。Bulk-logged模式的最佳實踐方案是在做bulk操作之前切換到bulk-logged,在bulk操作結束之后馬上切換回full模式。 重要提示:在完整恢復模式和大容量日志恢復模式下,必須進行日志備份。如果不想進行日志備份,則請使用簡單恢復模式。 該文章在 2024/9/27 12:11:05 編輯過 |
關鍵字查詢
相關文章
正在查詢... |