Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase «««123

Full Transaction log Expand / Collapse
Author
Message
Posted Wednesday, March 18, 2009 2:00 PM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, March 26, 2012 3:23 PM
Points: 8, Visits: 31
I guess it depends on how many hands are hitting the server.

In the situation where I would say it was acceptable is when others won't need to know what happened. I.e., if you aren't the DBA or acting in some fashion of administration for the server, then you probably shouldn't do it. Likewise, if you are sharing administrative responsibilities with one or more people, you might want to avoid doing it unless you consult with the other members of your group.

I wouldn't nessessarily place that as an automated feature, and it should be documented where how and why the process took place, etc...but that goes more to the business model that the department is running under.
Post #678878
Posted Wednesday, March 18, 2009 2:08 PM
Right there with Babe

Right there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with Babe

Group: General Forum Members
Last Login: Friday, January 17, 2014 1:22 PM
Points: 727, Visits: 265
Good article and everyone has brought up some good points.

However we should also investigate additional reasons that the log filled up in the first place.

Such as, a sole process may be filling the log when it does a million row insert. If that process runs daily, then your problem will return daily. That process can be modified to perhaps insert the data in smaller amounts, ensuring the transaction is committed between chunks.


- Paul

http://paulpaivasql.blogspot.com/
Post #678892
Posted Wednesday, March 18, 2009 2:50 PM


SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Monday, September 09, 2013 8:32 AM
Points: 108, Visits: 166
Strangely, although we keep everything in FULL recovery mode and do transaction dumps every few hours, differentials every night, and fulls twice a week, we have some databases (always 3rd party, never our own) whose logfiles simply grow and grow. I end up finding a 100 MB db with a 10 GB log file - and its 99% empty.

My theory - and that's all it is - is that those vendors are creating the problems themselves.

Many a third party vendor has proven they don't know much about the difference between a database and a sequential file, and they often wrap huge amounts of things in transactions that are NOT; or rebuild huge tables from scratch instead of just updating.

There often is no practical way (certainly no reliable scripted way) to clear out the space when the usual cycle of dumps doesn't accomplish it, not without taking the database down. It's a real waste of time and money.

Even though I've always believed "never ever use auto-shrink", I'm reconsidering for those troubled dbs. After all, these are 64-bit 64GB 8-way servers with multipath, non-front bus IO. And that auto-shrink rule I've known since the days of the /3GB switch...

Like I say - never see it in anything we build ourselves, nor on Sybase.

Roger Reid


Roger L Reid
Post #678922
Posted Wednesday, March 18, 2009 5:27 PM
Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Friday, August 24, 2012 8:11 AM
Points: 1,097, Visits: 2,157
Sorry guys I have missed all the banter :) I was a little busy at work today. I will join the discussion.


Post #679022
Posted Wednesday, March 18, 2009 5:36 PM
Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Friday, August 24, 2012 8:11 AM
Points: 1,097, Visits: 2,157
GilaMonster (3/18/2009)
Your first suggestion for a full tran log is to shrink it. Maybe I'm missing something, but that's completely the opposite of what's needed.

The log is full, ie, there is no free space within the log file. Since there is no free space within the log file, a shrink will find no space to release to the OS. Even if the shrink did find some free space, that'll just make the situation worse.

If the log file is full you need to either reduce the amount of data inside it by either backing the log up or switching to simple recovery, or you need to grow the log file to give it more space.



I see your point, probably i should have not mentioned that as my first point. I have outlined couple of steps, I should not have said as that is the first thing you can do. We would not be able to shrink the log file until log files are freed.


Post #679025
Posted Wednesday, March 18, 2009 5:37 PM
Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Friday, August 24, 2012 8:11 AM
Points: 1,097, Visits: 2,157
GilaMonster (3/18/2009)
Your first suggestion for a full tran log is to shrink it. Maybe I'm missing something, but that's completely the opposite of what's needed.

The log is full, ie, there is no free space within the log file. Since there is no free space within the log file, a shrink will find no space to release to the OS. Even if the shrink did find some free space, that'll just make the situation worse.

If the log file is full you need to either reduce the amount of data inside it by either backing the log up or switching to simple recovery, or you need to grow the log file to give it more space.




Thanks for the feedback Gail. I see your point, probably i should have not mentioned that as my first point. I have outlined couple of steps, I should not have said as that is the first thing you can do. We would not be able to shrink the log file until log files are freed.


Post #679027
Posted Wednesday, March 18, 2009 5:43 PM
Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Friday, August 24, 2012 8:11 AM
Points: 1,097, Visits: 2,157
jfoster (3/18/2009)
Krishna,

I thought I'd post another alternative which I didn't see in your article. I've used this in the past, with good results. This method allows me to run it on a live database without causing issues. At the same time, I have had issues where the log file never seemed to decrease after a shrinkdatabase...this has had 100% good results. Of course, the disclaimer would be that you are definitely purging the log file(s), so there is no going back if you didn't back them up.

USE [AdventureWorks]
DUMP TRAN [AdventureWorks] WITH NO_LOG
GO
DBCC SHRINKDATABASE ('AdventureWorks', 1)


Thanks for sharing that jfoster.. Everyday you learn something new.

Post #679028
Posted Wednesday, March 18, 2009 5:49 PM
Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Friday, August 24, 2012 8:11 AM
Points: 1,097, Visits: 2,157
Paul Paiva (3/18/2009)
Good article and everyone has brought up some good points.

Thanks for the feedback Paul.


However we should also investigate additional reasons that the log filled up in the first place.



Yes, definitely but that would need one more article.



Post #679029
« Prev Topic | Next Topic »

Add to briefcase «««123

Permissions Expand / Collapse