SQL Server數(shù)據(jù)庫的三種恢復(fù)模式:簡單恢復(fù)模式、完整恢復(fù)模式和大容量日志恢復(fù)模式
如何圖形界面下修改恢復(fù)模式
找到你想修改的數(shù)據(jù)庫 右鍵 > 屬性 > 左側(cè) 選項(xiàng)既可看到
1.Simple 簡單恢復(fù)模式,
Simple模式的舊稱叫”Checkpoint with truncate log“,其實(shí)這個名字更形象,在Simple模式下,SQL Server會在每次checkpoint或backup之后自動截?cái)鄉(xiāng)og,也就是丟棄所有的inactive log records,僅保留用于實(shí)例啟動時自動發(fā)生的instance recovery所需的少量log,這樣做的好處是log文件非常小,不需要DBA去維護(hù)、備份log,但壞處也是顯而易見的,就是一旦數(shù)據(jù)庫出現(xiàn)異常,需要恢復(fù)時,最多只能恢復(fù)到上一次的備份,無法恢復(fù)到最近可用狀態(tài),因?yàn)閘og丟失了。 Simple模式主要用于非critical的業(yè)務(wù),比如開發(fā)庫和測試庫,但是道富這邊的SQL Server(即使是生產(chǎn)庫)大都采用Simple模式,是因?yàn)檫@邊的SQL Server大都用于非critical的業(yè)務(wù)(critical的數(shù)據(jù)庫大都采用Oracle和DB2),可以忍受少于1天的數(shù)據(jù)丟失(我們的job每天都會定時備份全庫)。
如果需要壓縮數(shù)據(jù)庫日志(Shrink語句),將數(shù)據(jù)庫模式切換到簡單恢復(fù)模式后壓縮率才是最高的,如果你的數(shù)據(jù)庫在完整恢復(fù)模式或大容量日志回復(fù)模式下采用日志壓縮,壓縮后的日志大小并不會很理想。
2.Full 完整恢復(fù)模式,
和Simple模式相反,F(xiàn)ull模式的舊稱叫”Checkpoint without truncate log“,也就是SQL Server不主動截?cái)鄉(xiāng)og,只有備份log之后,才可以截?cái)鄉(xiāng)og,否則log文件會一直增大,直到撐爆硬盤,因此需要部署一個job定時備份log。Full的好處是可以做point-in-time恢復(fù),最大限度的保證數(shù)據(jù)不丟失,一般用于critical的業(yè)務(wù)環(huán)境里。缺點(diǎn)就是DBA需要維護(hù)log,增加人員成本(其實(shí)也就是多了定時備份log這項(xiàng)工作而已)。
3.Bulk-logged 大容量日志恢復(fù)
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恢復(fù)到包含bulk-logged record的這段時間。 Bulk-logged模式的最佳實(shí)踐方案是在做bulk操作之前切換到bulk-logged,在bulk操作結(jié)束之后馬上切換回full模式。
以下是補(bǔ)充更簡單易懂
SQL Server 2008 支持三種恢復(fù)模式,即簡單恢復(fù)模式、完整恢復(fù)模式和大容量日志恢復(fù)模式。
1、簡單恢復(fù):無日志備份。自動回收日志空間以減少空間需求,實(shí)際上不再需要管理事務(wù)日志空間。 最新備份之后的更改不受保護(hù)。在發(fā)生災(zāi)難時,這些更改必須重做。 只能恢復(fù)到備份的結(jié)尾。
2、完整恢復(fù):需要日志備份。數(shù)據(jù)文件丟失或損壞不會導(dǎo)致丟失工作??梢曰謴?fù)到任意時點(diǎn)(例如應(yīng)用程序或用戶錯誤之前)。
3、大容量日志恢復(fù):需要日志備份。是完整恢復(fù)模式的附加模式,允許執(zhí)行高性能的大容量復(fù)制操作。通過使用最小方式記錄大多數(shù)大容量操作,減少日志空間使用量。
如果在最新日志備份后發(fā)生日志損壞或執(zhí)行大容量日志記錄操作,則必須重做自該上次備份之后所做的更改。否則不丟失任何工作??梢曰謴?fù)到任何備份的結(jié)尾。不支持時點(diǎn)恢復(fù)。
其中,如果符合下列任一要求,則使用完整恢復(fù)模式:
• 您必須能夠恢復(fù)所有數(shù)據(jù)。
• 數(shù)據(jù)庫包含多個文件組,并且您希望逐段還原讀/寫輔助文件組(以及可選地還原只讀文件組)。
• 您必須能夠恢復(fù)到故障點(diǎn)。
• 您希望可以還原單個頁。
• 您愿意承擔(dān)事務(wù)日志備份的管理開銷。
因此還原單個數(shù)據(jù)頁是完整恢復(fù)模式功能。
相關(guān)文章
判斷一個表的數(shù)據(jù)不在另一個表中最優(yōu)秀方法
判斷一個表的數(shù)據(jù)不在另一個表中最優(yōu)秀方法2009-11-11使用SSIS創(chuàng)建同步數(shù)據(jù)庫數(shù)據(jù)任務(wù)的方法
SSIS(SQL Server Integration Services)是用于生成企業(yè)級數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換解決方案的平臺。使用 Integration Services 可解決復(fù)雜的業(yè)務(wù)問題,具體表現(xiàn)為:復(fù)制或下載文件,發(fā)送電子郵件以響應(yīng)事件,更新數(shù)據(jù)倉庫,清除和挖掘數(shù)據(jù)以及管理 SQL Server 對象和數(shù)據(jù)2012-09-09SQL一條語句統(tǒng)計(jì)記錄總數(shù)及各狀態(tài)數(shù)
這篇文章主要為大家介紹了SQL一條語句統(tǒng)計(jì)記錄總數(shù)及各狀態(tài)數(shù)的sql語句,需要的朋友可以參考下2013-12-12sqlserver中根據(jù)字符分割字符串的最好的寫法分享
因數(shù)據(jù)庫中保存的是以,號分隔的數(shù)據(jù),需要在界面上以表格的方式顯示出來。特想出以下方法2012-05-05解析關(guān)于SQL語句Count的一點(diǎn)細(xì)節(jié)
本篇文章是對關(guān)于SQL語句Count的一點(diǎn)細(xì)節(jié)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06SQLite3數(shù)據(jù)庫的介紹和使用教程(面向業(yè)務(wù)編程-數(shù)據(jù)庫)
這篇文章主要介紹了SQLite3數(shù)據(jù)庫的介紹和使用(面向業(yè)務(wù)編程-數(shù)據(jù)庫),本文從SQLite3的庫的獲取、工程管理、SQL語句介紹、C語言編程四個角度闡述了SQLite3數(shù)據(jù)庫的實(shí)際應(yīng)用,需要的朋友可以參考下2023-05-05CentOS安裝SQL Server vNext CTP1教程
這篇文章主要為大家詳細(xì)介紹了CentOS上安裝SQL Server vNext CTP1的相關(guān)過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11SQL Server 批量插入數(shù)據(jù)的完美解決方案
這篇文章主要介紹了SQL Server 批量插入數(shù)據(jù)的完美解決方案,需要的朋友可以參考下2020-12-12SQL開窗函數(shù)的具體實(shí)現(xiàn)詳解
這篇文章主要介紹了SQL開窗函數(shù)的具體實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07