bulksql
① sql三種恢復模式有什麼區別
一、定義不同
Simple簡單恢復模式,Simple模式的舊稱叫」Checkpoint with truncate log「。Full完整恢復模式,和Simple模式相反,Full模式的舊稱叫」Checkpoint without truncate log「。Bulk-logged 大容量日誌恢復。
二、功能不同
完整sql server恢復模式:
資料庫引擎把所有操作都記錄到事務日誌上,並且資料庫引擎絕對不會截斷日誌,完整恢復模式能使資料庫恢復到故障時間點。
簡單sql server恢復模式:
資料庫引擎最低限度地記錄大多數操作,並在每個檢查點之後截斷事務日誌。它不能備份或還原事務日誌,也不能還原單獨的數據頁。
大容量日誌模式:
資料庫引擎對大容量操作(select into和bulk insert)進行最小記錄。如果一個日誌備份包含任何大容量操作,就可以使資料庫恢復到日誌備份的結尾,但不能恢復到某個時間點,它僅用於大容量操作期間。
三、好處不同
在Simple模式下,SQL Server會在每次checkpoint或backup之後自動截斷log,也就是丟棄所有的inactive log records,僅保留用於實例啟動時自動發生的instance recovery所需的少量log,這樣做的好處是log文件非常小,不需要DBA去維護。
Full模式SQL Server不主動截斷log,只有備份log之後,才可以截斷log,否則log文件會一直增大,直到撐爆硬碟,因此需要部署一個job定時備份log。Full的好處是可以做point-in-time恢復,最大限度的保證數據不丟失,一般用於critical的業務環境里。
Bulk-logged是針對以下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文件過分增長。