SQL Server的3種恢復模式(Simple,Full,Bulk-logged)
1.Simple
Simple模式的舊稱叫”Checkpoint with truncate log“,其實這個名字更形象,在Simple模式下,SQL Server會在每次checkpoint或backup之後自動截斷log,也就是丟棄所有的inactive log records,僅保留用於例項啟動時自動發生的instance recovery所需的少量log,這樣做的好處是log檔案非常小,不需要DBA去維護、備份log,但壞處也是顯而易見的,就是一旦資料庫出現異常,需要恢復時,最多隻能恢復到上一次的備份,無法恢復到最近可用狀態,因為log丟失了。
Simple模式主要用於非critical的業務,比如開發庫和測試庫,但是道富這邊的SQL Server(即使是生產庫)大都採用Simple模式,是因為這邊的SQL Server大都用於非critical的業務(critical的資料庫大都採用Oracle和DB2),可以忍受少於1天的資料丟失(我們的job每天都會定時備份全庫)。
2. Full
和Simple模式相反,Full模式的舊稱叫”Checkpoint without truncate log“,也就是SQL Server不主動截斷log,只有備份log之後,才可以截斷log,否則log檔案會一直增大,直到撐爆硬碟,因此需要部署一個job定時備份log。Full的好處是可以做point-in-time恢復,最大限度的保證資料不丟失,一般用於critical的業務環境裡。缺點就是DBA需要維護log,增加人員成本(其實也就是多了定時備份log這項工作而已)。
3. Bulk-logged
Bulk-logged模式和full模式類似,唯一的不同是針對以下Bulk操作,會產生儘量少的log:
1) Bulk load operations (bcp and BULK INSERT).
2) SELECT INTO.
3) Create/drop/rebuild index
眾所周知,通常bulk操作會產生大量的log,對SQL Server的效能有較大影響,bulk-logged模式的作用就在於降低這種效能影響,並防止log檔案過分增長,但是它的問題是無法point-in-time恢復到包含bulk-logged record的這段時間。
Bulk-logged模式的最佳實踐方案是在做bulk操作之前切換到bulk-logged,在bulk操作結束之後馬上切換回full模式。
參考文獻: http://msdn.microsoft.com/en-us/library/ms190203.aspx
Simple模式的舊稱叫”Checkpoint with truncate log“,其實這個名字更形象,在Simple模式下,SQL Server會在每次checkpoint或backup之後自動截斷log,也就是丟棄所有的inactive log records,僅保留用於例項啟動時自動發生的instance recovery所需的少量log,這樣做的好處是log檔案非常小,不需要DBA去維護、備份log,但壞處也是顯而易見的,就是一旦資料庫出現異常,需要恢復時,最多隻能恢復到上一次的備份,無法恢復到最近可用狀態,因為log丟失了。
Simple模式主要用於非critical的業務,比如開發庫和測試庫,但是道富這邊的SQL Server(即使是生產庫)大都採用Simple模式,是因為這邊的SQL Server大都用於非critical的業務(critical的資料庫大都採用Oracle和DB2),可以忍受少於1天的資料丟失(我們的job每天都會定時備份全庫)。
2. Full
和Simple模式相反,Full模式的舊稱叫”Checkpoint without truncate log“,也就是SQL Server不主動截斷log,只有備份log之後,才可以截斷log,否則log檔案會一直增大,直到撐爆硬碟,因此需要部署一個job定時備份log。Full的好處是可以做point-in-time恢復,最大限度的保證資料不丟失,一般用於critical的業務環境裡。缺點就是DBA需要維護log,增加人員成本(其實也就是多了定時備份log這項工作而已)。
3. Bulk-logged
Bulk-logged模式和full模式類似,唯一的不同是針對以下Bulk操作,會產生儘量少的log:
1) Bulk load operations (bcp and BULK INSERT).
2) SELECT INTO.
3) Create/drop/rebuild index
眾所周知,通常bulk操作會產生大量的log,對SQL Server的效能有較大影響,bulk-logged模式的作用就在於降低這種效能影響,並防止log檔案過分增長,但是它的問題是無法point-in-time恢復到包含bulk-logged record的這段時間。
Bulk-logged模式的最佳實踐方案是在做bulk操作之前切換到bulk-logged,在bulk操作結束之後馬上切換回full模式。
參考文獻: http://msdn.microsoft.com/en-us/library/ms190203.aspx
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-708507/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server的幾種恢復模式(recovery models)SQLServer模式
- SQL SERVER設定恢復模式的策略SQLServer模式
- 認識SQL Server2000 幾種恢復模式SQLServer模式
- 認識SQL Server2000 三種恢復模式SQLServer模式
- SQL Server 2008指定恢復模式SQLServer模式
- SQL Server 2008恢復模式概述SQLServer模式
- SQL server 2005 備份恢復模式SQLServer模式
- 恢復 Microsoft SQL Server SA 密碼的三種方法ROSSQLServer密碼
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- SQL Server 的備份和恢復模式的工作方式SQLServer模式
- SQL Server無日誌資料庫恢復模式SQLServer資料庫模式
- SQL Server 2008 的恢復和備份模式SQLServer模式
- SQL Server災難恢復SQLServer
- SQL Server 2008 完整恢復模式下備份SQLServer模式
- SQL Server的MDF檔案恢復/修復方法SQLServer
- SQL Server 2008系統資料庫的恢復模式SQLServer資料庫模式
- SQL Server 2008選擇資料庫恢復模式SQLServer資料庫模式
- SQL Server 2008為索引操作選擇恢復模式SQLServer索引模式
- SQL Server 2008資料庫恢復模式詳解SQLServer資料庫模式
- MS Sql server 總結(命令恢復)SQLServer
- SQL Server 系統資料庫恢復SQLServer資料庫
- SQL Server ldf 檔案損壞恢復SQLServer
- 伺服器sql server 資料恢復伺服器SQLServer資料恢復
- 如何進行SQL Server容災恢復WISQLServer
- 備份和恢復SQL Server資料庫SQLServer資料庫
- 將 SQL Server 資料庫還原到某個時點(完整恢復模式)SQLServer資料庫模式
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- SQL Server資料庫恢復常見問題SQLServer資料庫
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- Sql server日誌損壞後的資料恢復(轉)SQLServer資料恢復
- 歸檔模式下四種完全恢復的場景模式
- 複製的SQL Server 7資料庫的恢復方法 (轉)SQLServer資料庫
- 【資料庫資料恢復】sql server資料庫連線失效的資料恢復案例資料庫資料恢復SQLServer
- SQL Server的流水模式SQLServer模式
- 恢復之非歸檔模式下的恢復模式
- SQL Server 中備份的還原和恢復工作方式SQLServer
- [Sql server]資料庫備份的三個恢復模型(轉)SQLServer資料庫模型
- SQL Server 2008還原與恢復概述SQLServer