SQL 2012 database log file too big, no disk space

Posted on 2016-08-17
Last Modified: 2016-08-26
Dear all,

I have MS SQL 2012 server and the transaction log file has grown too big and the partition where the log file resides is out of space. Unable to run queries due to this issue. Any help on what best to do in this scenario would be appreciated.

Question by:ghco
  • 3
  • 3
  • 2
  • +3
LVL 48

Expert Comment

by:Vitor Montalvão
ID: 41759095
Are you performing transaction log backups? If you weren't then that explains the transaction log being growing without any kind of truncation.
So to solve your issue you'll need to perform ASAP a transaction log backup and then schedule regular transaction log backups.
LVL 25

Expert Comment

by:Lee Savidge
ID: 41759099
First of all why has this happened? Is the recovery model set to full or simple? If set to full, you MUST back up the database AND transaction log as part of your maintenance schedule.

If you don't your log file will simply increase until it runs out of disk space. This is perhaps the single most common problem that people face with a database.

So, what can you do? Well, if the disk is full, the application is not working, so try and do a database back up and then a transaction log backup to a different partition. Then when you've backed the transaction log up, you will need to shrink it.

Try that, then come back to let us know if it has worked. There are things you can do if it doesn't work so don't worry.

Author Comment

ID: 41759144
Thanks for the quick respond, the recovery model is set to simple. Will try what you suggested and let you know the outcome.

As an alternative can the log file be moved to another partition while the database is active?
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

LVL 48

Expert Comment

by:Vitor Montalvão
ID: 41759148
If the database is set to Simple then you can't perform transaction log backups. I'm wondering what can made the transaction log growing too much in a Simple Recovery model database. How big is the database and the transaction log file?

For moving a transaction log location you'll need to detach the database, copy the transaction log file to the new location and re attach the database.

Author Comment

ID: 41759159
The database grew from 3GB to 40GB and the log file is 45GB. Apparently there was a massive entry to database table that wasn't necessary which made it grew, have tried deleting those entries but script wouldn't run because of the disk space issue.
LVL 48

Expert Comment

by:Vitor Montalvão
ID: 41759166
A massive data task can really justifies the grow but then it would empty the transaction log when the task is done. Mind that emptying the tlog is not the same that shrinking it so it may be your case. Did you try to Shrink the transaction log to see if you can recall any free space? If not then it means that the transaction it still active (still running or waiting for a commit/rollback).
LVL 26

Expert Comment

ID: 41759429
Use this script to shrink the log file:
USE [YourDatabase] 


DBCC SHRINKFILE(N'YourDatabase_log', 1) 

Open in new window

where YourDatabase_log should be the logica file name of the transaction log file.
LVL 69

Expert Comment

by:Scott Pletcher
ID: 41759485
Yes, use commands, not the gui, to shrink the log file.

USE [db_name]

That will shrink it to 4GB.  I wouldn't shrink too small, because when the log is forced to grow again, that will be very bad for performance.

Also, check to be sure that nothing is preventing the log from shrinking/being reused, with this command:


Author Comment

ID: 41762063
Found an MSDN link that shows how to shrink the database/log file from the SQL Management Studio so this worked for us. Thanks for all the help.
LVL 26

Accepted Solution

Zberteoc earned 500 total points
ID: 41762577
In that article under "Using Transact-SQL" section is exactly what I posted as a solution at: 41759429

Expert Comment

by:Jason clark
ID: 41763385
By querying the sys.databases catalog view you can see information describing the reason your log file may be waiting on truncate/reuse. see here to know other reasons for that:

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Encrypting SQL Server 2014 or SQL Server 2016 4 30
SSRS Deployment problem 5 67
xml files 7 29
Setting variables in a stored procedure 5 24
Nowadays, some of developer are too much worried about data. Who is using data, who is updating it etc. etc. Because, data is more costlier in term of money and information. So security of data is focusing concern in days. Lets' understand the Au…
I have a large data set and a SSIS package. How can I load this file in multi threading?
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question