Thursday, 26 January 2012

Database 101

I had an interesting phone call this morning from our professional services team.  They are carrying out what I can only call extreme testing on one of our products to see just how much data we can process in a given time window.  The issue they ran into was a dramatic reduction in available free space on one of the SQL Server data drives, which is when I was called.  The person who called had deleted some large tables and wanted to SHRINK the data file to reclaim the free space so the process would not fail.

Now my usual response here would be to take the DBA high ground, tell them NO, briefly justify myself if asked why and then hang up.  I would then proceed to curse them, their ignorance and generally have a laugh about it with my fellow DBA’s.  But I didn’t, for some reason a blog post I read (I’m sure Paul Randal tweeted about it but I can’t find it anywhere) about showing some humility towards others who are new to SQL Server or less knowledgeable than you.  I remember it plain as day but for the life of me can’t find it, basically it explains how we as DBA’s all started off with no knowledge of SQL Server and have learned from our peers, the SQL community and through our mistakes over the years.  If I hadn’t had the opportunity from my employers or support from my colleagues and the SQL community I wouldn’t be as knowledgeable as I am today (trust me there is far more I want to learn).

So what did I do?  Well I started off by saying “No” but then went on to explain “we are not going to shrink the file, what we will do is assess what it is you are trying to achieve and look at all the contributing factors before making an informed decision which best supports your task”.

The result of which was that we temporarily expand the volume to accommodate this growth which was for a “one off” test (we’ll see).  Surprisingly though what would normally have irritated me all day, put me in a foul mood and required some serious venting, turned out to be quite satisfying.  The person I spoke to after explaining in quite some depth why we don’t want to shrink the file got very excited and is arranging for me to travel to their office to spend some time with the team to educate them about SQL Server in order to help them improve the services they provide, RESULT!!!

Now this post has been far too nice so let me at least RANT about something.

Although happy that someone is excited about getting advice and support I’m still not happy that a member of the Database Team was not consulted about this testing as we could have avoided me and the storage team being interrupted and asked to drop their current work to help out.  After all proper planning prevents poor performance.

So the next time you take a call or are dealing with a request from someone which to you may be menial remember something that is second nature to you, is not second nature to everyone.  Don’t jump on the high horse, show them some support and pass on your knowledge after all knowledge is power ;)

Cheers

Chris