MSSQL Server 2012 Transaction Concept 概念:
MSSQL Server 2012 在資料寫的的運作上,是秉持著 WAL(Write Ahead Logging) 的機制,Transaction 存取磁碟的作業,主要是依照下列 4 個步驟來作業:
- 將 Transaction 寫入 LOG File
- 將 Transaction 的異動修改 Buffer (記憶體) 裡的資料
- 交易完成 Transaction Commit
- 將 Buffer (記憶體) 裡的資料寫入 Disk ( Data Files )裡
Recovery Model:
在說明 MSSQL Server 2012 的備份模式前,要先瞭解它的 Recovery Model,MSSQL Server 2012 的 Recovery Model 有三種模式:
- Simple:當 Transaction Commit 交易確認後,此 Transaction Log 就會從 LOG File 中清除(Truncate),所以 LOG File 並不會長大,LOG File 的檔案大小永遠保持最小。
- Full:所有的 Transaction 交易都會保留在 LOG File 中,所以 LOG File 會一直長大,除了作備份作業後,LOG File 裡的 Transaction 內容才會被清除(Truncate),當然 LOG File 檔案要縮小,還得手動執行 Shrink Log 才行
- Bulk Logged:當有 Bulk Insert 的 SQL 語法時,這些 批次 的 Transaction 不會記錄在 LOG File 中。
沒有留言:
張貼留言