2009-10-20 70 views

回答

1

快照是另一個數據庫的只讀副本,在某個時間點完成。對快照進行寫入快照所使用的文件時,對原始數據庫的任何更改都會導致數據的版本。因此,會涉及到性能問題,但它可以非常有用地知道您的數據庫在過去的某個時刻的樣子(當您告訴創建快照時)。

絕對值得注意的是,快照首次創建時不包含自己的數據,因爲它可以引用原始數據庫,至少在原始數據庫更改之前。

0

快照首次創建時,它是一個將所有查詢(快照爲只讀)委託給原始數據庫的空殼。

由於對原始數據庫進行了更改,所涉及的頁面被複制到快照中。此時對快照的查詢將在邏輯數據庫上執行,該邏輯數據庫是將快照中的頁面分層到原始數據庫中的頁面的結果。

結果是快照看起來是在創建快照的同時創建的原始數據庫的完整副本。

這可能有用的一種情況是部署更改。如果出現問題,快照可能是一種非常廉價的保險形式。假設在部署期間只修改了原始數據庫中的一部分頁面,則在還原期間只需要將該部分頁面從快照複製回原始數據庫。