交易日誌的工作原理
以下是從管理員和員工的角度來看的交易日誌記錄的一般範例。
管理員為伺服器上的所有資料庫啟用交易日誌記錄。管理員選擇歸檔日誌記錄樣式,以便有足夠的空間用於交易日誌;使用單獨的鏡像設備安全、快速地儲存交易日誌;並安裝備份實用程式以從媒體故障和任何由此導致的損壞的資料庫中復原。
管理員每天備份交易日誌。此過程不會花費很長時間,因為管理員僅備份更改,而不是對伺服器上的所有資料庫進行完整備份。
當伺服器崩潰時,它會宕機,但不會持續很長時間。當管理員重新啟動伺服器時,它會將交易日誌中的所有變更重播到資料庫中。伺服器很快就恢復正常了。
幾天后,媒體出現故障。管理員從最近的每週備份中恢復損壞的資料庫並重播變更。
使用資料庫的員工沒有註意到他們的工作方式有任何差異。然而,他們可能會注意到,伺服器啟動和運行的頻率更高,停機時間也更少。
How changes are made to the database
交易日誌記錄將所有資料庫事務發佈到日誌檔案中,而無需等待事務提交到磁碟。發佈到日誌檔案後,變更被視為成功。實體寫入過程可以等到伺服器不太忙或定期發生。更改會批量寫入磁碟。
資料庫在開啟時緩存在記憶體中。對資料庫的寫入發生在資料庫的記憶體副本中。然後它們會立即傳送到交易日誌。隨後,資料庫的記憶體快取版本被發佈到磁碟,從而更新資料庫。由於交易日誌是連續的,因此沒有尋道時間,並且僅將足夠的資訊寫入日誌以重做(或在必要時撤消)操作。在許多情況下,這比資料庫寫入磁碟的資訊要少。
如果資料庫尚未完全寫入磁碟並且您打開它,則您將開啟記憶體快取版本。如果伺服器在磁碟上的版本更新為變更之前崩潰,則重新啟動伺服器會在重新啟動期間將日誌套用到資料庫。