I’ve been realizing more and more as I get older just how much of a habit driven creature I am. I’m at my best, both productivity and happiness wise, when I stick to my regular routines. Some would probably say I take this too far (perhaps when they see the detailed written checklists that I follow every morning and evening), but the truth is that it works for me.
As an example, look no further than the lack of recent posts or e-mails I’ve written. Over the last month or so I’ve been on two vacations, separated by a couple weeks of crazy busy times at work. As a result, I’ve been off my game for the entire time. Normally I have set times during the week when I sit down and write, and so long as I do, I’m pretty good at cranking out work. But when those times get disrupted, my production falls through the floor.
The same things is true in my work as a DBA. Over the years I’ve cultivated a number of habits and routines that have unquestioningly made me more successful. They span a number of different aspects of my work; some revolve around learning, others around procedures or tactics for completing my daily tasks. Here are three general categories, each with a specific example.
Set aside regular time for learning
Every day I spend around an hour of time reviewing some aspect of SQL Server that I’m not familiar with. Whether it’s reading blogs, reviewing articles on SQL Server Central, or playing around in my lab setup, I try and get in some focused time closing my knowledge gaps. Truthfully I don’t think I spend enough time doing this; even as it stands I find there are more areas of SQL Server that I don’t know about than I like (like using the new functionality around the ‘R’ language). But like many things, some time is better than none.
Just today I spent time going through lessons in Edwin Sarmiento’s excellent course on failover clustering internals. I consider myself fairly knowledgeable here, yet I still found that I learned numerous new things. For example, I knew that Cluster Shared Volumes exist, but never really understood what they were or how they worked. Thanks to Edwin, I now know that they can be hugely useful in increasing the availability of your clustered SQL Server databases (provided they’re configured properly of course).
Practice regularly – especially infrequently used skills
Pop quiz: when’s the last time you had to restore a database to a particular point in time? What about restoring a corrupt page? Re-establishing an availability group after a database gets out of sync?
If you’re like many, then the answer to the above questions may well be “never”. And I’ll be honest: that scares me. As DBAs we’re going to find ourselves against the wall in a crisis situation, we’re going to be called upon to fix things, and yet many don’t take the time to practice the very skills they’ll need in those situations. Yes, it’s true, with Books On-Line available you could probably muddle through, but do you really want to be searching through pages upon pages of documentation while the V.P. of Operations is sitting on your back?
Not too long ago, I sat down with my fellow DBA and we stepped through our procedures to recover one of our servers, relying completely on the documentation. This helped in two obvious ways: first, we became more familiar with the process, so that we could complete it quicker in a true recovery scenario; second, we found numerous gaps in what we had written down. If we had never taken the time to practice, we would never have found these.
Review the systems you own, with your own eyes
In today’s world of automation and fancy monitoring software, it’s not uncommon for DBAs to come to rely on their tools to alert them of problems. And while this is overall a very good thing (can you imagine trying to manually monitor hundreds of servers?), it can lead to a number of unintended negative consequences.
When I was still fairly young in my career as a DBA, I worked on a team that included a gentlemen who had been administering server hardware for more than half my lifetime. His knowledge of infrastructure was vast, but what really impressed me about him was his old-school attitude. I remember one time when he invited me to come down to the server room with him and walk the raised floor. When I asked why we’d do something like that when we have sophisticated monitoring software, he chuckled and just said “Let’s go.”
As we were walking the floor, we found a server that was showing failed hard drives as well as a failed power supply. Both of these are potentially huge problems that we might never have found had we not taken the time to do a visual check. He later told me that he did this (the walk through) at least once a week, just to “get a feel of things”. He explained that by keeping himself familiar with the physical space, he was able to notice things before they became larger problems. He also mentioned how while monitoring software is a wonderful thing, it can’t replace a good old visual inspection.
Much like how airline pilots perform a manual “walk-around inspection” before each flight, as DBAs we should be regularly laying eyes on the systems we administer. There’s a number of ways to accomplish this, from logging in to servers on a rotating basis to regularly reviewing performance baseline numbers and looking for deviations. What’s important is that we become familiar with “the lay of the land”, so that we notice differences.
These three examples alone will make a huge difference in the trajectory of your career as a DBA if practiced regularly. The key word here, however, is regularly. Like any habits, these will only provide value if they are done repeatedly and often. Here there’s a lesson we can learn from my psychology background, in that (to loosely quote bestselling author Gretchen Rubin’s book Better Than Before) the habit of the habit is more important than the habit itself.
Think of it this way: it’s better to do some tiny thing related to these three habits each and every day, rather than try and devote massive amounts of time to them but only do so irregularly. Better that we take a thousand small steps over time than a handful or larger jumps, for as the great Greek philosopher Aristotle once said, “We are what we repeatedly do.”
If you want to be a better DBA, do the things that better DBAs do, and do them often. Sooner or later, you’ll get to where you want to go.