As a Database Administrator (DBA) your skills, services, expertise and ultimately your time will always be in demand. You can only ever deliver on a finite amount of time, that’s just the way it is, so it’s incredibly important that you maximize the use of the time you have available.
The Importance Of Automation
SQL Server Blog – The Best Database Administrators Automate Everything
All too often I see Database Administrator’s operating continuously in what I like to call Fire Fighting Mode. That is to say that they are struggling with their forever growing work load and are consistently operating in a reactive fashion, just moving from the most important task to the next, without taking stock of the bigger picture. Technical Debt, and Coding Horror (Jeff Atwood) discusses the importance of Paying Down Your Technical Debt on his Blog. Let me tell you now that working like this is just not sustainable and either the system or the DBA will eventually break down, more often than not it’s the later that gives way first.
Understanding the value of your time and acknowledging it’s importance to the success of outstanding DBA’s is the first step towards leveraging it’s power. As a DBA you want to take steps to maximize the amount of time you have available to you, in order to permit you to focus on tasks that add value to your business and to give you that all important capacity to operate in a Proactive Mode. Put simply, you have to make the time for yourself in order to be effective as Database Administrator.
Herein lies the secret of automation and it’s compounding interest that it pays to the DBA. The more tasks, systems and processes that you can automate, the more time you have available to Proactively reinvest in tasks that add value to your business and to you.
That’s right, I said everything. Just sit back and take the time to consider this point for a moment. Let it wander around your mind whilst you consider the processes and tasks that you could look to potentially automate. Now eliminate the word potentially from your vocabulary and evaluate how you could automate EVERYTHING that you do.
Even if you believe that there is only a remote possibility that you will need to repeat a given task, just go ahead and automate it anyway! Chances are that when the need to repeat the process comes around again, you will either be under pressure to get it done, or even better have more important Proactive Mode tasks/projects to be getting on with, like furthering your professional development by studying for your MCM Certification and watching the freely available MCM Readiness Videos (and would you believe it, also available in automated fashion using PowerShell 🙂 courtesy of @anonythemouse ).
At the very least, always create a walk-through of your steps and save your scripts so that you can re-use any work you produce.
The possibilities for how you can go about automating are so vast, ranging from the obvious choices such as SQL Server Integration Services (SSIS) & PowerShell to any Coding/Scripting language of your choice. I have even been known to develop the odd little Java Application (a left over effect of a former life as a Developer, just don’t tell the Devs) in order to automate administrative tasks. The key thing with automation contrary to typical DBA practices is to not necessarily use the most appropriate tool or technology for the job but to use whatever tool that you can to get the job automated and done.
— Microsoft Certified Solutions Associate (MCSA)