【SQLSERVER】AlwaysOn模式下日志清理方法

Tanglu Other 2021-01-25 5255 0

公司有一些老项目数据库还跑在SQL SERVER上,并且配置了Always ON做了主从读写分离。最近发现某个日志文件已经达到了500多G,并且传统的收缩方式并不能释放空间。找了很久资料,终于找到一个切实有效的清理办法,只需要执行以下SQL即可,如果运行一次没有释放完成,可以再运行一次:

BACKUP LOG [YOUR_DATABASE] TO DISK='NUL:'   -- 备份事务日志为NUL代表不占硬盘空间
GO
USE [YOUR_DATABASE];
GO
DBCC SHRINKFILE (YOUR_DATABASE_1_Log, 100);     --收缩数据库日志文件到100M
GO
DBCC SHRINKFILE (YOUR_DATABASE_Log, 100);     --收缩数据库日志文件到100M,数据库有两个日志文件
GO

评论