事務日誌檔案

事務日誌檔案Transaction Log File,擴展名為ldf,它是資料庫結構中非常重要卻又常被忽視的部分。它是用來記錄資料庫更新情況的檔案,它可以記錄針對資料庫的任何操作,並將記錄的結果保存到獨立的檔案中。對於每一次資料庫更新的過程,事務日誌檔案都有非常全面的記錄。根據這些記錄可以恢複數據庫更新前的狀態。

基本介紹

  • 中文名:事務日誌檔案
  • 外文名:Transaction Log File
  • 用途:記錄資料庫更新情況的檔案
  • 擴展名:ldf
作用,狀況,

作用

出於性能上的考慮,SQL Server將用戶的改動存入快取中,這些改變會立即寫入事務日誌,但不會立即寫入數據檔案。事物日誌會通過一個標記點來確定某個事物是否已將快取中的數據寫入數據檔案。當SQL Server重啟後,它會查看日誌中最新的標記點,並將這個標記點後面的事物記錄抹去,因為這些事物記錄並沒有真正的將快取中的數據寫入數據檔案。這可以防止那些中斷的交易修改數據檔案。

狀況

一般情況下,在能夠容納兩次事務日誌截斷之間發生的最大數量的事務時,事務日誌的大小是穩定的,事務日誌截斷由檢查點或者事務日誌備份觸發。
然而,在某些情況下,事務日誌可能會變得非常大,以致用盡空間或變滿。通常,在事務日誌檔案占盡可用磁碟空間且不能再擴展時,您將收到如下錯誤訊息:
Error:9002, Severity:17, State:2
The log file for database ’%.*ls’ is full.
除了出現此錯誤訊息之外,SQL Server 還可能因為缺少事務日誌擴展空間而將資料庫標記為 SUSPECT。有關如何從此情形中恢復的其他信息,請參見 SQL Server 在線上幫助中的“磁碟空間不足”主題。
另外,事務日誌擴展可能導致下列情形:
· 非常大的事務日誌檔案。
· 事務可能會失敗並可能開始回滾
· 事務可能會用很長時間才能完成。
· 可能發生性能問題。
· 可能發生阻塞現象。
原因
事務日誌擴展可能由於以下原因或情形而發生:
· 未提交的事務
· 非常大的事務
· 操作:DBCC DBREINDEX 和 CREATE INDEX
· 在從事務日誌備份還原
· 客戶端應用程式不處理所有結果
· 查詢在事務日誌完成擴展之前逾時,您收到假的“Log Full”錯誤訊息
· 未複製的事務

相關詞條

熱門詞條

聯絡我們