USE [{數據庫名稱}] DECLARE @bakfile nvarchar(100) SET @bakfile='E:\DbLogs\log_bak_'+CONVERT(nvarchar(8),GETDATE(),112)+'.log' --備份日志壓縮文件路徑 BACKUP LOG [{數據庫名稱}] TO DISK= @bakfile WITH RETAINDAYS= 1,COMPRESSION --備份日志 DBCC SHRINKFILE (N'{數據庫日志文件邏輯名稱}', 0) GO為了做數據庫讀寫分離,做了故障轉移群集,以及通過Alwayson做數據庫同步,但也造成了數據庫日志文件不斷增加,通過以前的方法處理也會出錯
也找了不少方法,都解決無效,最后看到通過截斷日志可以解決此問題。
USE [StarDB]
DECLARE @bakfile nvarchar(100)
SET @bakfile='E:\DbLogs\log_bak_'+CONVERT(nvarchar(8),GETDATE(),112)+'.log'
BACKUP LOG [StarDB] TO DISK= @bakfile WITH RETAINDAYS= 1,COMPRESSION
DBCC SHRINKFILE (N'StarDB_log', 0)
GO
開始執行了,沒有發現效果,但過了一會,日志明顯減小了,若日志太大,建議多執行幾次。
