SQL Server數(shù)據(jù)庫(kù)的三種恢復(fù)模式:簡(jiǎn)單恢復(fù)模式、完整恢復(fù)模式和大容量日志恢復(fù)模式
如何圖形界面下修改恢復(fù)模式
找到你想修改的數(shù)據(jù)庫(kù) 右鍵 > 屬性 > 左側(cè) 選項(xiàng)既可看到

1.Simple 簡(jiǎn)單恢復(fù)模式,
Simple模式的舊稱(chēng)叫”Checkpoint with truncate log“,其實(shí)這個(gè)名字更形象,在Simple模式下,SQL Server會(huì)在每次checkpoint或backup之后自動(dòng)截?cái)鄉(xiāng)og,也就是丟棄所有的inactive log records,僅保留用于實(shí)例啟動(dòng)時(shí)自動(dòng)發(fā)生的instance recovery所需的少量log,這樣做的好處是log文件非常小,不需要DBA去維護(hù)、備份log,但壞處也是顯而易見(jiàn)的,就是一旦數(shù)據(jù)庫(kù)出現(xiàn)異常,需要恢復(fù)時(shí),最多只能恢復(fù)到上一次的備份,無(wú)法恢復(fù)到最近可用狀態(tài),因?yàn)閘og丟失了。 Simple模式主要用于非critical的業(yè)務(wù),比如開(kāi)發(fā)庫(kù)和測(cè)試庫(kù),但是道富這邊的SQL Server(即使是生產(chǎn)庫(kù))大都采用Simple模式,是因?yàn)檫@邊的SQL Server大都用于非critical的業(yè)務(wù)(critical的數(shù)據(jù)庫(kù)大都采用Oracle和DB2),可以忍受少于1天的數(shù)據(jù)丟失(我們的job每天都會(huì)定時(shí)備份全庫(kù))。
如果需要壓縮數(shù)據(jù)庫(kù)日志(Shrink語(yǔ)句),將數(shù)據(jù)庫(kù)模式切換到簡(jiǎn)單恢復(fù)模式后壓縮率才是最高的,如果你的數(shù)據(jù)庫(kù)在完整恢復(fù)模式或大容量日志回復(fù)模式下采用日志壓縮,壓縮后的日志大小并不會(huì)很理想。
2.Full 完整恢復(fù)模式,
和Simple模式相反,F(xiàn)ull模式的舊稱(chēng)叫”Checkpoint without truncate log“,也就是SQL Server不主動(dòng)截?cái)鄉(xiāng)og,只有備份log之后,才可以截?cái)鄉(xiāng)og,否則log文件會(huì)一直增大,直到撐爆硬盤(pán),因此需要部署一個(gè)job定時(shí)備份log。Full的好處是可以做point-in-time恢復(fù),最大限度的保證數(shù)據(jù)不丟失,一般用于critical的業(yè)務(wù)環(huán)境里。缺點(diǎn)就是DBA需要維護(hù)log,增加人員成本(其實(shí)也就是多了定時(shí)備份log這項(xiàng)工作而已)。
3.Bulk-logged 大容量日志恢復(fù)
Bulk-logged模式和full模式類(lèi)似,唯一的不同是針對(duì)以下Bulk操作,會(huì)產(chǎn)生盡量少的log: 1) Bulk load operations (bcp and BULK INSERT). 2) SELECT INTO. 3) Create/drop/rebuild index 眾所周知,通常bulk操作會(huì)產(chǎn)生大量的log,對(duì)SQL Server的性能有較大影響,bulk-logged模式的作用就在于降低這種性能影響,并防止log文件過(guò)分增長(zhǎng),但是它的問(wèn)題是無(wú)法point-in-time恢復(fù)到包含bulk-logged record的這段時(shí)間。 Bulk-logged模式的最佳實(shí)踐方案是在做bulk操作之前切換到bulk-logged,在bulk操作結(jié)束之后馬上切換回full模式。
以下是補(bǔ)充更簡(jiǎn)單易懂
SQL Server 2008 支持三種恢復(fù)模式,即簡(jiǎn)單恢復(fù)模式、完整恢復(fù)模式和大容量日志恢復(fù)模式。
1、簡(jiǎn)單恢復(fù):無(wú)日志備份。自動(dòng)回收日志空間以減少空間需求,實(shí)際上不再需要管理事務(wù)日志空間。 最新備份之后的更改不受保護(hù)。在發(fā)生災(zāi)難時(shí),這些更改必須重做。 只能恢復(fù)到備份的結(jié)尾。
2、完整恢復(fù):需要日志備份。數(shù)據(jù)文件丟失或損壞不會(huì)導(dǎo)致丟失工作。可以恢復(fù)到任意時(shí)點(diǎn)(例如應(yīng)用程序或用戶(hù)錯(cuò)誤之前)。
3、大容量日志恢復(fù):需要日志備份。是完整恢復(fù)模式的附加模式,允許執(zhí)行高性能的大容量復(fù)制操作。通過(guò)使用最小方式記錄大多數(shù)大容量操作,減少日志空間使用量。
如果在最新日志備份后發(fā)生日志損壞或執(zhí)行大容量日志記錄操作,則必須重做自該上次備份之后所做的更改。否則不丟失任何工作??梢曰謴?fù)到任何備份的結(jié)尾。不支持時(shí)點(diǎn)恢復(fù)。
其中,如果符合下列任一要求,則使用完整恢復(fù)模式:
• 您必須能夠恢復(fù)所有數(shù)據(jù)。
• 數(shù)據(jù)庫(kù)包含多個(gè)文件組,并且您希望逐段還原讀/寫(xiě)輔助文件組(以及可選地還原只讀文件組)。
• 您必須能夠恢復(fù)到故障點(diǎn)。
• 您希望可以還原單個(gè)頁(yè)。
• 您愿意承擔(dān)事務(wù)日志備份的管理開(kāi)銷(xiāo)。
因此還原單個(gè)數(shù)據(jù)頁(yè)是完整恢復(fù)模式功能。
相關(guān)文章
詳解SQL Server 中 JSON_MODIFY 的使用
SQL Server 從 2016 開(kāi)始支持了一些 JSON操作,最近的項(xiàng)目里也是好多地方字段直接存成了 JSON,需要了解一下怎么在SQL Server 中操作 JSON.這篇文章主要介紹了SQL Server 中 JSON_MODIFY 的使用,需要的朋友可以參考下2019-11-11
SQL 獲取所有上級(jí)的實(shí)現(xiàn)方法
這篇文章主要介紹了SQL 獲取所有上級(jí)的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-04-04
sqlserver 2000中每個(gè)服務(wù)器角色的解釋
sqlserver 2000中每個(gè)服務(wù)器角色的解釋,方便大家以后對(duì)于數(shù)據(jù)庫(kù)權(quán)限有所了解。2011-03-03
SQL Server Parameter Sniffing及其改進(jìn)方法
這篇文章主要介紹了SQL Server Parameter Sniffing及其改進(jìn)方法,需要的朋友可以參考下2017-06-06
SQL 統(tǒng)計(jì)一個(gè)數(shù)據(jù)庫(kù)中所有表記錄的數(shù)量
最近公司的數(shù)據(jù)庫(kù)發(fā)現(xiàn)有表的數(shù)據(jù)被弄掉了,有些數(shù)據(jù)表記錄為0,于是想找出此數(shù)據(jù)庫(kù)中到底有哪些數(shù)據(jù)表的記錄都為0以縮小分析范圍,可使用如下的SQL Statement2012-01-01
SQL中的開(kāi)窗函數(shù)詳解可代替聚合函數(shù)使用
這篇文章主要介紹了SQL中的開(kāi)窗函數(shù)詳解可代替聚合函數(shù)使用,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
實(shí)例學(xué)習(xí)SQL的Select命令
實(shí)例學(xué)習(xí)SQL的Select命令...2006-12-12
使用 SQL 快速刪除數(shù)百萬(wàn)行數(shù)據(jù)的實(shí)踐記錄
在面對(duì)需要?jiǎng)h除數(shù)百萬(wàn)行數(shù)據(jù)的場(chǎng)景時(shí),使用DELETE操作可能非常耗時(shí)且效率低下,一種更有效的方法是通過(guò)Create-Table-as-Select (CTAS) 方式處理,即先將要保留的數(shù)據(jù)通過(guò)CTAS保存到新表,然后通過(guò)表重命名等操作替換原表,從而快速完成大量數(shù)據(jù)的刪除2024-10-10
sql自動(dòng)增長(zhǎng)標(biāo)識(shí)導(dǎo)致導(dǎo)入數(shù)據(jù)問(wèn)題的解決方法
對(duì)于一個(gè)設(shè)了自動(dòng)增長(zhǎng)標(biāo)識(shí)的數(shù)據(jù)表來(lái)說(shuō),它的字段的值是由數(shù)據(jù)庫(kù)自動(dòng)設(shè)置的;這在導(dǎo)數(shù)據(jù)時(shí)很麻煩2012-11-11

