由於“XTP_CHECKPOINT”,數據庫“database_name”的事務日誌已滿
我有一個關於
XTP_CHECKPOINT
.我正在使用 SQL Server 2014。我有一個處於簡單恢復模式模式的數據庫。它也在被複製。
沒有未結交易。我跑
DBCC OPENTRAN
了,它返回:“沒有有效的未結交易。”
但是每當我嘗試創建或刪除表或刪除數據時,我都會收到此消息:(
我已將我的實際數據庫名稱替換為單詞
database_name
)“由於 ‘XTP_CHECKPOINT’,數據庫 ‘database_name’ 的事務日誌已滿”
有誰知道為什麼會發生這種情況,更重要的是,我怎樣才能讓它停止?
是的,數據庫確實處於簡單恢復模式模式。即事務日誌應該自動截斷。
順便說一句,我在完全恢復模式下的另一個數據庫做了同樣的事情,開始返回同樣的錯誤:
由於“XTP_CHECKPOINT”,數據庫“database_name”的事務日誌已滿
我試圖將日誌增長設置更改為無限增長,但它不會讓我返回相同的錯誤。
除了文件組之外,我可以在沒有任何 XTP 內容的情況下重現該問題。方法如下: http: //pastebin.com/jWSiEU9U
我有一個類似的問題:我沒有複製,但是一旦我使用記憶體優化表作為測試,數據庫處於簡單恢復模式,但我的事務日誌沒有被截斷。手動截斷,即使是在完全備份之後,也會出現錯誤:
無法收縮日誌文件 X,因為位於文件末尾的邏輯日誌文件正在使用中。
手動檢查點失敗:
消息 41315,級別 16,狀態 4,行 N 檢查點操作在數據庫 X 中失敗。
手動檢查點僅在重新啟動 SQL 服務後才成功,由於我的 Multi Tb 數據庫大小,這將導致 4 小時處於恢復狀態。我還嘗試將自動增長設置為特定大小,但最終都做了同樣的事情:填滿事務日誌,直到沒有空間為止。
最後,經過日日夜夜的嘗試和研究,我通過安裝SQL Server 2014 SP1 的累積更新 3找到了解決問題的方法