記錄檔縮小 必須在簡單復原模式下執行,完成後再切回完整模式以保護資料安全。
-- 1. 切換至簡單復原模式 USE [master]; GO ALTER DATABASE [YourDB] SET RECOVERY SIMPLE WITH NO_WAIT; GO ALTER DATABASE [YourDB] SET RECOVERY SIMPLE; GO -- 2. 縮小記錄檔(目標 11 MB,視實際需求調整) USE [YourDB]; GO DBCC SHRINKFILE (N'YourDB_Log', 11, TRUNCATEONLY); GO -- 3. 切回完整復原模式並立即進行完整備份 USE [master]; GO ALTER DATABASE [YourDB] SET RECOVERY FULL WITH NO_WAIT; GO ALTER DATABASE [YourDB] SET RECOVERY FULL; GO -- 重要:立即執行完整備份啟動新的記錄鏈 BACKUP DATABASE [YourDB] TO DISK = '備份路徑\YourDB_Full.bak'; GO
SELECT name FROM sys.database_files WHERE type_desc = 'LOG'; 取得正確邏輯名稱,勿假設為 DBName_Log。BACKUP LOG DBName WITH NO_LOG / TRUNCATE_ONLY(已棄用)配合 DBCC SHRINKFILE。DUMP TRANSACTION ... WITH NO_LOG + DBCC SHRINKDATABASE。AUTO_SHRINK 不建議,會造成索引碎片與效能抖動。