交易記錄檔概觀
每個 SQL Server 2005 資料庫都具有交易記錄,其中記錄了所有交易以及每筆交易所做的資料庫修改。交易記錄是資料庫的重要元件,而且如果系統故障,就可能需要交易記錄讓資料庫返回一致的狀態。永遠不要刪除或移動交易記錄檔,除非您完全了解執行這些動作的詳細情形。
交易記錄檔所支援的作業
交易記錄檔支援下列作業:
復原個別的交易。
在 SQL Server 啟動時,復原所有未完成的交易。
將還原的資料庫、檔案、檔案群組或頁面重新回復到發生錯誤的地方。
支援交易式複寫。
支援待命伺服器解決方案。
復原個別的交易
若應用程式發出一個 ROLLBACK 陳述式,或若是 Database Engine 偵測到與用戶端的通訊中斷等錯誤,記錄檔記錄可用來回復未完成之交易所作的修改。
在 SQL Server 啟動時復原所有未完成的交易
若執行 SQL Server 的伺服器失敗了,資料庫的狀態可能停留於緩衝區快取中有些修改尚未寫入資料檔中,並且未完成的交易已在資料檔中作了一些修改。當啟動 SQL Server 執行個體時,它會在每個資料庫上執行復原。已記錄於記錄檔中、但尚未寫入資料檔中的每個修改將會向前復原。將會回復交易記錄檔中所發現的每筆未完成交易,以確保資料庫的完整性。
將還原的資料庫、檔案、檔案群組或頁面向前復原至失敗點
在硬體損毀或磁碟失敗影響資料庫檔案後,您可以將資料庫還原至失敗點。請先還原最後一次的完整資料庫備份和最後一次的差異資料庫備份,然後將後續一連串的交易記錄備份還原到失敗點。在還原每個記錄檔備份時,Database Engine 會重新套用記錄在記錄檔中的所有修改,以向前復原所有交易。在還原最後一個記錄檔備份後,Database Engine 接著會使用記錄檔資訊來回復在該點尚未完成的所有交易。
支援交易式複寫
「記錄讀取器代理程式」會監視設定交易式複寫的各資料庫交易記錄,並將標示要複寫的交易從交易記錄複製到散發資料庫中。如需詳細資訊,請參閱<交易式複寫的運作方式>。
支援待命伺服器解決方案
交易記錄檔特性
以下是 SQL Server Database Engine交易記錄檔的特性:
交易記錄是實作成資料庫中的個別檔案或一組檔案。記錄檔快取是與資料頁的緩衝區快取分開管理,以在 Database Engine 內產生簡單、快速和健全的程式碼。
記錄檔記錄與頁面的格式並不一定要遵照資料頁的格式。
交易記錄檔可實作於多個檔案上。可以設定記錄檔的 FILEGROWTH 值,以定義記錄檔為自動擴充。這減少了交易記錄檔用完空間的可能性,而同時又減少了管理上的額外負擔。如需詳細資訊,請參閱<ALTER DATABASE (Transact-SQL)>。
重複使用記錄檔空間的機制很迅速,並對於交易輸送量的影響很小。