日誌文件不會縮小 - 建議?
我有一個 225GB 的數據庫和一個 390GB 的日誌文件,它的大小最近才爆炸式增長。我正在嘗試縮小它 - 根據這些說明:https ://www.brentozar.com/blitz/transaction-log-larger-than-data-file/
我無法在 SSMS 或 DBCC SHRINKFILE 命令上收縮它。我試著等到它不被使用,還嘗試了日誌備份,然後再次執行 DBCC SHRINKFILE,但無濟於事。關於我能做什麼的任何想法?
我在這篇文章(https://www.mssqltips.com/sqlservertutorial/3311/how-to-shrink-the-transaction-log/)中看到它說我可以嘗試將恢復模型翻轉為簡單,執行收縮,然後將其翻轉回Full,但這對我來說聽起來很冒險,所以我很謹慎地嘗試。
另外值得注意的是,我的數據庫正在鏡像,目前處於掛起狀態。
想問問各位大俠能不能給點建議。我們是您典型的無 DBA 商店,因此我感謝任何新手良心指示或建議!謝謝!
您
log_reuse_wait_desc
是database_mirroring並且您提到它目前卡在 Suspended 狀態select name, log_reuse_wait_desc from sys.databases
您應該找到您的鏡像被暫停的原因。嘗試在主體上搜尋包含
Database mirroring has been suspended
在 ERRORLOG 文件中的消息。它可能如下所示:2019-08-13 11:40:48.98 spid64s 錯誤:1453,嚴重性:16,狀態:1。
2019-08-13 11:40:48.98 spid64s ‘TCP://xxx.com:5022’,數據庫 ‘DB’ 的遠端鏡像夥伴,遇到錯誤5149,狀態 3,嚴重性 25。數據庫鏡像已暫停。解決遠端伺服器上的錯誤並恢復鏡像,或者刪除鏡像並重新建立鏡像伺服器實例。
使用錯誤號,您可以從以下位置獲取其描述
sys.messages
:select * from sys.messages where message_id = 5149
這個案例:
MODIFY FILE 在嘗試擴展物理文件 ‘%ls’ 時遇到作業系統錯誤 %ls。
這意味著沒有足夠的物理空間來擴展鏡像上的文件。
解決任何發現的錯誤後,您必須打開鏡像。在主體上執行:
ALTER DATABASE YourDBName SET PARTNER RESUME;
如果您在 中找不到任何相關錯誤
ERRORLOG
,只需嘗試使用上面的命令恢復鏡像,然後ERRORLOG
在鏡像數據庫進入掛起狀態(如果確實如此)後查看數據庫並檢查您的錯誤.