As a SQL Server DBA, where do I start?
So you are a new DBA. Maybe you are someplace that hasn’t had a DBA, maybe you are someplace that didn’t have a great DBA. Requests are piling up, your head is spinning with the instances you are discovering and people are getting excited that there is a DBA around. Where do you start?
The Beginning of course – The Basics
A former manager of mine reiterated what he expected of me as his first SQL Server DBA on his DBA team that was an Oracle team to that point. It was simple advice but sage advice and it answers our question above, start at the beginning.
You are a DBA, think about your job, your responsibilities and what you are most on the hook for and that is your answer. Yes there will be a lot of things flying at you but you can only do what you can do and if you can’t worry about some of the basics then your headaches will only grow later. What are these basics? They are the “itties” of database administration (again, thanks to that former manager and team where we talked a lot about these).
Thoughts on task priority for a DBA:
- Recoverability – This is quite possibly the least sexy aspect of database administration. I want to put on my performance tuning hat, save the day hat or my mentor hat. If I don’t first put on my recoverability hat I have just set myself up for a memorable failure. Look around at your instances (find all the instances in your network with this tool. And focus on your restores as I discuss here when I say stop worrying about your backups. Can you restore your environment? Are your backups accessible? Do they meet the published (or assumed) SLAs?
- Availability (1) – What is the health of the instances? Look at the logs, look at the maintenance jobs (are there any? Should you set some up now while you are thinking about it?). What are the uptime requirements? Are the databases being checked for integrity?
- Security – You are the DBA now, who else has rights that can undo what you are doing? Most folks aren’t out to hurt you or your databases most of the time. That doesn’t mean it isn’t possible. It also doesn’t mean that well intentioned folks can cause you headaches by trying to “help”. Lock your environment down while you can. This will take time but start it and work it hard or it will never get done and only grow worse.
- Reliability – How reliable is the data within the database? What business decisions are being made and what does the code look like? How is data quality enforced in ETL processes, application processes, etc.
- Availability (2) – Performance affects availability. Just because your instance is healthy, the backups are being done, the maintenance jobs are being done are you still okay? Are there serious performance problems occurring because of a lack of DBA oversight? Are your applications scanning through terabytes of data just to return small result sets to a simple web app? Are your databases all on the same drives?
Yes, reactive tasks overshadow proactive tasks very quickly. Especially if you just inherited a reactive environment. It didn’t take one day to get that way and it won’t take one day to turn it completely around.
Even still, start at the beginning, worry about the basics, make the reactive tasks wait as long as they possibly can. Farm them back out to the team(s) that were playing the DBA role before you got there (where possible) and at least cover the first couple proactive bullets.
Once you start getting into 100% reactive mode, your proactive tasks will never get caught up and you could find yourself having a serious issue in your environment. These lessons come from experience and are still a work in progress in my own walk as a DBA.
So when you feel compelled to go and do the fun quick hit performance tuning stuff first try and remember something I have to tell myself every once in a while… People don’t remember the small bouts of heroism, or the good things you do as well as they remember the colossal failures you didn’t prevent.
You Might Also Like
If you found these tips for starting out helpful, perhaps these other links will be helpful:
- Benchmarking, Who Needs It? – In this post, I talk about why Benchmarking is important but then also show you how to use the Performance Analysis For Logs free tool.
- How Do You Install SQL Server? – This is the first post in a 3 post series where we walk through some of the basics of installing SQL Server. Heavy focus on planning and some post installation steps.
- Paranoid? Control Freak? – These traits could actually be helpful in your DBA career. Let’s explore why.
- One Man’s Trash – A trip to the dump gave me a good reminder of how to balance the control freak attitude with focusing on your customers.
- Checklists, Recipes and Algorithms – We can learn some important lessons from Pilots, Chefs and Doctors as DBAs.
Want more content like this? Subscribe to this blog’s feed in your favorite feed reader and stay up to date with tips and tricks. I like to share techniques and free tools I use to help me with my day job, might help you out also.