一、full模式
處於該模式的資料庫,不會主動截斷log,只有備份Log之後,才可以截斷Log。否則Log檔案會一直增大,只到撐爆硬碟,因此需要部署一個job定時備份Log,full的好處是可以坐基於時間點的恢復,最大限度的保證資料不丟失。缺點是需要dba維護Log。
二、simple模式
處於該模式的資料庫,sqlserver會在每次checkpoint或backup之後自動截斷Log,也就是丟棄所有的inactive log records,僅保留用於例項啟動時自動發生的例項恢復所需的少量Log,這樣做的好處是log檔案非常小,不需要DBA去維護,壞處是一旦資料庫出現異常,需要恢復時,最多隻能恢復到上一次的備份,無法恢復到最近可用狀態,因為Log丟失了。
三、bulk-logged模式(大容量日誌恢復模式)
與完整恢復模式相比,大容量日誌恢復模式只對大容量操作進行最小記錄,通常buld操作會產生大量的Log,對sqlserver效能有較大的影響,bulk-logged模式的作用就在於降低這種效能影響,並防止log檔案過分增長,但是它的問題是無法point-in-time恢復到包含bulk-logged record的這段時間。
Bulk-logged模式的最佳實踐方案是在做bulk操作之前切換到bulk-logged,在bulk操作結束之後馬上切換回full模式。
大容量操作:
1 bcp and bulk insert
2 select into
3 create/drop/rebuild index
一、full模式
處於該模式的資料庫,不會主動截斷log,只有備份Log之後,才可以截斷Log。否則Log檔案會一直增大,只到撐爆硬碟,因此需要部署一個job定時備份Log,full的好處是可以坐基於時間點的恢復,最大限度的保證資料不丟失。缺點是需要dba維護Log。
二、simple模式
處於該模式的資料庫,sqlserver會在每次checkpoint或backup之後自動截斷Log,也就是丟棄所有的inactive log records,僅保留用於例項啟動時自動發生的例項恢復所需的少量Log,這樣做的好處是log檔案非常小,不需要DBA去維護,壞處是一旦資料庫出現異常,需要恢復時,最多隻能恢復到上一次的備份,無法恢復到最近可用狀態,因為Log丟失了。
三、bulk-logged模式(大容量日誌恢復模式)
與完整恢復模式相比,大容量日誌恢復模式只對大容量操作進行最小記錄,通常buld操作會產生大量的Log,對sqlserver效能有較大的影響,bulk-logged模式的作用就在於降低這種效能影響,並防止log檔案過分增長,但是它的問題是無法point-in-time恢復到包含bulk-logged record的這段時間。
Bulk-logged模式的最佳實踐方案是在做bulk操作之前切換到bulk-logged,在bulk操作結束之後馬上切換回full模式。
大容量操作:
1 bcp and bulk insert
2 select into
3 create/drop/rebuild index