Sql-Server

SQL Server 事務日誌 VLF 未在日誌傳送數據庫上發布(狀態 2)

  • September 21, 2018

看過幾篇與我的場景類似的文章,但沒有什麼能真正解決我的問題。

設想:

  • 例行索引重建發生,每週一次,週六早上 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) o​​n 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,因此可以看到問題中描述的問題。

謝謝你們的幫助,但我認為問題的根源是報告的錯誤(我沒有提到因為我可以看到備份文件並且日誌傳送仍在處理它們,所以我認為它不是一部分同樣的問題!)

引用自:https://dba.stackexchange.com/questions/217768