1.改成完整模式下,先完整備份,然后只備份事務日志
2. 改成簡單模式,然后截斷(運行下邊示例代碼)
3.再備份事務日志(觀察LDF文件有沒有變小)
-----收縮大日志
SELECT * FROM sys.database_files
USE DBname
GO
--截斷日志
CHECKPOINT
--收縮日志
DBCC SHRINKFILE(DBname_Log,1)
--查看
DBCC SQLPERF(LOGSPACE)
--看看是不是有一直沒有提交的事務, 影響了事務日志備份, 如果有,看看是否可以kill.
dbcc opentran (DBname)
GO
第二種方法
https://www.cnblogs.com/masahiro/p/13291756.html
使用下面語句截斷日志文件,用於縮減日志文件大小
USE[master]
GO
ALTER DATABASE 要清理的數據庫名稱 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 要清理的數據庫名稱 SET RECOVERY SIMPLE --簡單模式
GO
USE 要清理的數據庫名稱
GO
DBCC SHRINKFILE (N'要清理的數據庫名稱_log' , 2, TRUNCATEONLY) --設置壓縮后的日志大小為2M,可以自行指定
GO
USE[master]
GO
ALTER DATABASE 要清理的數據庫名稱 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 要清理的數據庫名稱 SET RECOVERY FULL --還原為完全模式
GO