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
开始执行了,没有发现效果,但过了一会,日志明显减小了,若日志太大,建议多执行几次。
© 版权声明
博主的文章没有高度、深度和广度,只是凑字数。利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章!如若有侵权,请联系博主删除。
喜欢就点个赞吧