Sql-Server
SQL Server 事務日誌 VLF 未在日誌傳送數據庫上發布(狀態 2)
看過幾篇與我的場景類似的文章,但沒有什麼能真正解決我的問題。
設想:
- 例行索引重建發生,每週一次,週六早上 2 點。
- 日誌文件的大小大約是通常大小的 15 倍。
- 進行事務日誌備份(每 10 分鐘,24 x 7)。
- 每天凌晨 3 點進行完整備份。
- 當我查看時,VLF 保持“活動”(狀態 2)
dbcc loginfo
log_reuse_wait_desc
正在報告**“LOGBACKUP** ”sys.databases
dbcc opentran
報告沒有活動交易@@version
: Microsoft SQL Server 2005 - 9.00.5069.00 (X64) 2012 年 8 月 22 日 18:02:46 版權所有 (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)問題:
所以,我的問題很簡單,由於硬體限制和時間參數,我需要保持事務日誌的大小盡可能小。我相信它沒有釋放空間的原因是因為 VLF 處於活動狀態並且它認為需要進行 LOGBACKUP 才能釋放,但是在無數次日誌備份之後,
log_reuse_wait_desc
仍然報告等待日誌備份!我可以將恢復模型更改為簡單、縮小並改回,但這會破壞我的 LSN 鍊和我的日誌傳送實施,因此它不是一個真正可行的解決方案!
射線。
經過更多調查後,我發現當需要進行大型日誌備份時,生成 trn 備份文件所花費的時間超過了
lanmanserver
服務設置的 5 分鐘超時時間。報告的錯誤
error 64 (error not found)
實際上是一個很常見的問題,顯然如此處所述;因此,即使正在創建日誌備份,SQL 引擎也無法驗證備份是否成功。反過來,VLF 沒有設置為 0,因此可以看到問題中描述的問題。
謝謝你們的幫助,但我認為問題的根源是報告的錯誤(我沒有提到因為我可以看到備份文件並且日誌傳送仍在處理它們,所以我認為它不是一部分同樣的問題!)