SQL Server 2012 SP1 交易日誌已滿?

SQL Server 2012 SP1 交易日誌已滿?

我的一個資料庫遇到交易日誌填滿的問題。它已設定為完全恢復,並透過維護計劃定期進行備份。我每個週末都會進行完整的資料庫備份,然後在工作日進行每日差異備份,並且每小時進行一次交易日誌備份。我檢查了日誌截斷狀態,目前狀態是LOG_BACKUP。我可以透過按需備份將其清除,但為什麼不透過維護計劃將其清除?

我缺什麼?

答案1

如果您的資料庫有大量事務,您可能需要比每小時更頻繁地備份交易日誌。每 15 分鐘一次並不罕見。我建議編輯維護作業以更頻繁地執行日誌備份。

另外,.ldf 是否有足夠的磁碟空間?如果阻止實體檔案成長,即使截斷,它也會耗盡空間。

答案2

有一些因素會影響 SQL Server 的交易日誌是否顯示為「已滿」或需要成長:

  • 長時間運行的事務
  • 採用完整或批次日誌復原模式時日誌備份的頻率
  • 交易日誌中虛擬日誌檔案 (vlfs) 的數量和大小

Jes Schultz Borland 有一個免費視頻,她在其中更詳細地描述了這一切是如何工作的,聽起來它會對您有所幫助:http://www.brentozar.com/archive/2012/09/how-sql-server-works-log-file-video/

當避免資料遺失很重要時,請每隔一段時間執行日誌備份分鐘並不罕見。關鍵在於在最壞的情況下可以遺失多少資料。

答案3

是的。如果您從不進行備份,就會發生這種情況。類似於如果你不費心去做你的工作並加滿油,你車裡的油箱就會空了。

交易日誌應在完整或增量備份後刪除 - 如果您不進行備份,則將資料庫模型設為簡單。

如果您定期進行完整備份,那麼顯然有人不知道如何進行備份,並且忘記將交易日誌的刪除放入序列中。維護計劃對此有一個設定。

也就是說:如果您運行複製之類的東西,如果您落後了,可能會阻塞日誌。

相關內容