快照集 (Snapshot) 是 SQL Server 2005 新增的功能,其功能顧名思義,就是為資料庫拍下目前的『照片』,如果在不同的時間建立快照集,這些快照集便代表資料庫在當時的『樣子』。所以您可以從各時間的快照集中,取得資料庫在某個時間點的內容。
快照集使用的是一種稱為 copy-on-write 的技術,當某資料庫在 A 時間點建立快照集時,SQL Server 會先為該資料庫建立稀疏檔案。假設 A 時間點之後,資料庫某頁的內容將發生第一次更動,SQL Server 便會先將該頁的資料複製一份到稀疏檔案,然後才會將更動的內容寫入該頁。
快照集中扮演重要角色的稀疏檔案是一種特殊的檔案,只能建立於 NTFS 檔案系統,其在檔案總管中看到的大小會等於該資料庫檔案的大小,但是一開始稀疏檔案內容卻是空的,實際上佔用的硬碟空間也很小。隨著更動的資料頁越來越多,稀疏檔案實際使用的磁碟空間也會跟著越來越大,一直到等於資料庫檔案大小為止 (代表所有資料頁都已更動過)。

以下為範例說明:

0 Comments:

Post a Comment



較新的文章 較舊的文章 首頁