Sql-Server-2005
SQL Server 聲稱事務日誌已滿,但事實並非如此?
我正在嘗試
INSERT
從一個數據庫到另一個數據庫進行大型操作。但我收到一條錯誤消息:消息 9002,級別 17,狀態 4,第 1 行 數據庫“_ARCHIVE_mydatabase”的事務日誌已滿。要找出日誌中的空間不能被重用的原因,請參閱 sys.databases 中的 log_reuse_wait_desc 列
到目前為止我做過的事情:
- 檢查磁碟是否有足夠的磁碟空間
- 檢查事務日誌文件大小是否很小(1024 KB)
- 檢查 log_reuse_wait_desc 是 NOTHING
- 檢查 _ARCHIVE_mydatabase 的恢復模式是否簡單
- 重新啟動了伺服器
我還嘗試從這個 SF 答案執行查詢:( 事務日誌已滿)但它沒有幫助。
此外,我們有許多
_ARCHIVE
數據庫,它們都有相同的錯誤!我還能嘗試什麼,為什麼會這樣?
不要問明顯的問題,但您是否檢查過以確保未設置日誌文件大小限制?或者自動增長的選項沒有被禁用..
事務日誌文件不應該很小。它是 SQL 事務的“暫存空間”,對於 SQL Server 的執行至關重要。將其設置為合理的值,例如 512MB 或 1GB,然後再次嘗試操作。
附帶說明,請不要在“簡單”恢復模式下執行生產數據庫。完整的事務日誌有助於 SQL Server 在發生意外時保持內部事務的一致性。您應該觀察日誌文件的增長,手動將其增長到合理的大小,然後定期備份事務日誌(我的設置為每小時一次)。