記錄檔 (LDF) 佔用 23 GB,但實際使用量不足 1 GB。嘗試 Shrink 卻出現錯誤:
Cannot shrink log file 2 (Database_log) because of minimum log space required.
本案例此流程無效,需採用更徹底的離線處理。
Database_log.ldf → Database_log.ldf.bak)。
-- 1. 設定單一使用者並強制斷開連線
ALTER DATABASE [YourDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
-- 2. 脫離資料庫
EXEC sp_detach_db 'YourDB';
GO
-- 3. 手動刪除/重命名 LDF 檔案 (需在檔案系統操作)
-- 4. 重新附加 (僅指定 MDF)
CREATE DATABASE [YourDB] ON
(FILENAME = 'D:\Data\YourDB.mdf')
FOR ATTACH_REBUILD_LOG;
GO
-- 5. 恢復多使用者模式
ALTER DATABASE [YourDB] SET MULTI_USER;
GO
DBCC LOGINFO 檢查 VLF 狀態,若大量 VLF 為作用中,需先備份記錄 (BACKUP LOG) 使其變為非作用中,再 Shrink。