交易記錄檔概觀

每個 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)>。

  • 重複使用記錄檔空間的機制很迅速,並對於交易輸送量的影響很小。