備份交易記錄時可能發生【無法執行 BACKUP LOG,因為沒有目前的資料庫備份】

備份交易記錄時可能發生【無法執行 BACKUP LOG,因為沒有目前的資料庫備份】

問題描述

上一篇文章中筆者提到發生交易記錄已滿的解決方式,是先把資料庫的復原模式由完整切換到簡單,即可截斷交易記錄檔,讓交易記錄檔可以重複使用。如果您照著筆者所述的方式做,接著在備份交易記錄時,您可能會發生【無法執行 BACKUP LOG,因為沒有目前的資料庫備份】或是【BACKUP LOG cannot be performed because there is no current database backup】的錯誤訊息。

image

image

解決步驟

會發生這個問題的原因在於資料庫復原模式的關係,當您使用簡單復原模式,系統發生檢查點之後,資料庫中的交易記錄會被清除,也就是備份記錄鏈會被切斷,因此沒辦法支援任何交易記錄檔備份,只能使用完整或差異備份來備份資料庫。

要解決這個問題,其實只要在您從簡易復原模式切換至完整或大量記錄復原模式之後,立刻進行完整或差異備份,記錄鏈結就會再次被啟動,您就可以繼續進行交易記錄備份的作業。

參考資料

- SQL Server 2005 管理升級與移轉達人手冊

- 復原模式概觀

- 從簡單復原模式切換的考量

- You must perform a full database backup before you back up the transaction log for a database in SQL Server 2005 and in SQL Server 2000