摘要:SQL 2008 Snapshot 資料庫快照集 - 原理篇
在系統的救援策略上,可能用備份、備援、異地備份與異地備援,而在資料庫的救援上可能用 Full Backup、Differential Backup、Transaction Log Backup 與這次要說的 Snapshot。 各種救援策略執行時間點上各有不同,而 Snapshots 是要在一天之內較密集做備份保護,而也因為 Snapshot 這個功能,我會推薦必買 SQL Enterprise 的版本。 什麼是 Snapshot 呢? 中文翻譯成快照,其意思同拍照般可以凍結當時的一瞬間,對著資料庫拍照,就是對資料庫的某一個時間點,凍結記錄內容並完整的紀錄下來。 聽到完整記錄就直覺好像很耗資源,但是 snapshot 雖然佔磁碟空間,卻不會耗費系統其他資源。看下面圖示說明 圖示說明: 後記:從下圖中我想你可以看得出來,如果刪除掉原本的資料庫,Snapshot 只剩片段的儲存內容,這樣子是無法使用的,意即你不能拿 snapshot 當作備份使用,他只是幫你記住某一時刻資料庫的狀態,沒更動的他一概不存。
建立 Snapshot 之後,就可以在 SSMS 中看到完整的DB內容。如果這時資料庫無任何異動(意思為 原DB 與 Snapshot DB 相同),當你瀏覽 Snapshot DB 其實他是 pass 原DB 內容給你看。
如果已經有異動 Insert / Update / Delete,他會查 Snapshot DB 混合原DB,以呈現做 Snapshot 當時的資料庫內容樣貌。
~ End