MORE ABOUT ME

The DBA Plate

dba_plate11

21 Nov The DBA Plate

It’s Thanksgiving week here in the USA. I have two things I want to mention.

First, last Wednesday I did a product demo for Confio Software, you can read more details about that inside my post title Help Me To Feed Others. We raised close to $1,000 for Community Food Share, which will help to feed many families this week. I could not be happier to know that I played a part in making that happen. Thank you for attending and helping us last week.

[UPDATE: The last paragraph was for the 2011 event, I also did one for 2012 and you can read more at Community Foodshare Needs Help From #500people].

Second, after hearing that Congress has declared pizza to be a vegetable, it struck me that as a DBA we need our own “food plate“. Why would we need this? Simple:

Many people have no idea what a DBA does for daily work.

[And most of the time these people are also put in charge of DBAs. No, I’m not bitter.]

Sadly, most new DBAs also have no idea what they are supposed to be doing. Often they have no mentor to help them along the way. This is especially true in Microsoft shops, where the installation and use of SQL Server is so easy that many forget the fact that you need someone to administer what has been installed.

So, I decided to borrow the “food plate” idea and apply it for DBAs.

Everything is there, really. Backups should be the biggest part of your plate, followed by maintenance. Monitoring and tuning come next, and you should have a side plate of training as well. I hope this clears up everything. What’s that? You need more details? OK then, how about this…

Backups

The number one responsibility for any DBA is the ability to recover. If you cannot recover you should find a different career. And that word (“recover”) can mean a lot of different things. It could be your ability to recover as the result of a large scale disaster. It could be your ability to recover the piece of data that was updated inside of one row, in one table, in one database, in some obscure instance of SQL hundreds of miles away. And it could also be everything in between those two events.

And you can’t do any of that without having backups in place, having them running in a consistent manner, the ability to check that they are running, and even testing that they are valid by doing some periodic restores.

Backups: It’s what’s for DBA dinner.

Maintenance

This part of your plate is for things like the rebuild/reorganizing of indexes, or the updating of statistics. Essentially, anything that helps to maintain the current performance levels for your end users are what I consider to be “maintenance”. However there is also administrative maintenance, such as the removal of logins that are no longer used, or running DBCC CHECKDB.

Monitoring

This part of your plate is for the items you want to be alerted and take action upon. For example, running low on disk space, or seeing a spike in CPU utilization, or having one of your SQL Agent jobs fail. As a DBA we are keen to collect all sorts of details about our instances and databases because we never know which particular piece of data is going to help us diagnose and resolve an issue. But you should only collect the pieces of information that help you to take action. If you try to monitor everything possible then you may find that the biggest performance impact on your system is yourself!

Tuning

This part of your plate is when you roll up your sleeves and make adjustments to your instances in some way. Tuning could be the rewriting of T-SQL statements, it could be adding memory to a server, or even the partitioning of data to align with tiered storage. In essence, anything that goes beyond the traditional maintenance tasks is what I would consider to be tuning.

Training

This is the little side plate to everything else that you do. Think of it like having a few strips of bacon with your meal. You need to be constantly keeping up to date with the latest trends in technology. Most of this training is a lot of self-help, but you can also attend events such as SQL Saturdays or the PASS Summit. Just make certain that you reinforce whatever you have been taught by taking the time to lay your hands on the product or piece of functionality.

Happy Thanksgiving.