?
Solved

Large ldf file in SQL Server

Posted on 2009-05-19
7
Medium Priority
?
337 Views
Last Modified: 2013-05-21
Hi

In SQL Server 2000 we have an intranet database (which uses sharepoint) and the .ldf file is now over 50GB and the .mdf file is over 7GB.

The backup runs every night.
It's Recovery Model 'Full'

Is there anything I can do to make the files smaller?

I've seen advice to truncate the database with this command
"backup log dbname with truncate_only"

Any ideas?

Thanks
0
Comment
Question by:hmcgeehan
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24419708
>It's Recovery Model 'Full'
you don't see to be running NO transaction log backup, which means the log space in the .ldf file never get's reclaimable.

>I've seen advice to truncate the database with this command
don't. at least not regularly.
just implement regular transaction log backups (the first one will be big!), and once that is in place, you can try to shrink the .ldf file to a reasonable size.
0
 

Author Comment

by:hmcgeehan
ID: 24419740
Thanks!

So what do I need to do from here?
Implement a transaction log backup?
How do I do that?
Do I do it instead of a full backup?

My hard disk space is at a minimum now.
Less than 1GB left!

Thanks
0
 

Author Comment

by:hmcgeehan
ID: 24419762
BTW should I check the 'auto shrink' option?
db-properties.bmp
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 200 total points
ID: 24419775
>Do I do it instead of a full backup?
no, in addition to the full backup.

you have to be aware why you do backups: it's to be able to restore.
with a full backup (only), you can only restore that one. all changes made since that full backup are lost.
there is where the transaction log backup comes into the play: with those backups, you can restore the database to ANY point in time from the full backup to the last transaction in the transaction log backups.

note: you must have ALL the transaction log backup since the full backup to the time you want to restore!


>My hard disk space is at a minimum now. >Less than 1GB left!

ok, do this:



backup log dbname with truncate_only;
checkpoint;
dbcc shrinkfile (your_log_file.ldf, truncate_only);
-- http://msdn.microsoft.com/en-us/library/ms189493.aspx --
 
 
you might need to repeat this, the shrink might not "work" on the first time.
once this freed up your disk space, run 1 full backup, and implement the transaction log backup ASAP

Open in new window

0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24419782
>BTW should I check the 'auto shrink' option?
NO. that will just waste I/O ....
0
 

Author Comment

by:hmcgeehan
ID: 24420178
Thanks

As this is a sharepoint database would we need to disable the website to ensure no attempts are made to update the database while we're doing the backup and shrink?

Thanks
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 24420966
no. these operation can be done online.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

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

Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
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
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

649 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