SQL Server 2008 - Shrinking the Transaction Log - Any way to automate?

Posted by Albert on Stack Overflow See other posts from Stack Overflow or by Albert
Published on 2010-03-31T20:13:37Z Indexed on 2010/03/31 20:23 UTC
Read the original article Hit count: 320

I went in and checked my Transaction log the other day and it was something crazy like 15GB. I ran the following code:

USE mydb
GO
BACKUP LOG mydb WITH TRUNCATE_ONLY
GO
DBCC SHRINKFILE(mydb_log,8)
GO

Which worked fine, shrank it down to 8MB...but the DB in question is a Log Shipping Publisher, and the log is already back up to some 500MB and growing quick.

Is there any way to automate this log shrinking, outside of creating a custom "Execute T-SQL Statement Task" Maintenance Plan Task, and hooking it on to my log backup task? If that's the best way then fine...but I was just thinking that SQL Server would have a better way of dealing with this. I thought it was supposed to shrink automatically whenever you took a log backup, but that's not happening (perhaps because of my log shipping, I don't know).

Here's my current backup plan:

  • Full backups every night
  • Transaction log backups once a day, late morning (maybe hook the Log shrinking onto this...doesn't need to be shrank every day though)

Or maybe I just run it once a week, after I run a full backup task? What do you all think?

© Stack Overflow or respective owner

Related posts about sql

Related posts about sql-server-2005