代码改变世界

【SQLServer】Alwayson收缩日志

2022-06-12 17:15  abce  阅读(409)  评论(0编辑  收藏  举报

 

 

USE [databasename]
CHECKPOINT
DECLARE @bakfile nvarchar(100)
SET @bakfile='D:\databak\[databasename]_log_bak_'+CONVERT(nvarchar(8),GETDATE(),112)+'.log'
BACKUP LOG [databasename] TO DISK=@bakfile WITH RETAINDAYS=7,COMPRESSION
DBCC SHRINKFILE (N'[databasename]_log',2048)   	--收缩到2048MB
DBCC SQLPERF(LOGSPACE) 				--可选
DBCC LOGINFO 					--可选 
GO

  

手动收缩的时候,可以先执行以下SQL:

select name,log_reuse_wait_desc from sys.databases where name like '[databasename]';

如果log_reuse_wait_desc返回"nothing",就可以手动DBCC SHRINKFILE收缩了。