shrink log size for large size db

Here is the scripts to backup tran log and shrink log size for large size db

  ----- transaction log total size

DBCC SQLPERF(logspace)

 ----- transaction log free status (0 --- free, 2 --- used)

dbcc loginfo

 checkpoint

go

----- backup transaction log

BACKUP LOG [<user_db>] TO  DISK = N'nul'

go

 ----- shrink log

DBCC SHRINKFILE(<user_db_log_file_name>, EMPTYFILE)

go

 ----- check log wait reasons

Select

name, log_reuse_wait, log_reuse_wait_desc

from sys.databases where name='user_db'

--循环备份收缩日志

--可以做成Job 定期收缩日志

-----------------------backup database and log to nul-----------

BACKUP DATABASE XXXXX TO DISK = N'nul'

DECLARE @i int

SET @i = 1

WHILE @i<5

begin

  --backup transaction log

  backup log xxx to disk =N'nul'

  checkpoint

  --shrink log

  dbcc shrinkfile(xxx_log,EMPTYFILE)

  set @i = @i+1

end

GO

posted on 2018-07-19 14:42  5w  阅读(118)  评论(0)    收藏  举报

导航