Raise Your Game
You are under attack. No, I don’t mean some foreign country is going to invade your city. Your job as a DBA or IT admin is. Why do I say that? Well, you’ve got lots of threats depending on your environment: the cloud, virtualization, skill sets, budget, new technology, etc. There’s a lot you have to do on a daily basis to make sure you still have a job tomorrow and the next day. Fall too far behind and you become irrelevant. New releases keep coming, so you have to keep up even if your company is not using them or will get them in production any time soon to stay relevant. Ignore trends like virtualization and the cloud (and where you will fit into those pictures), and you will be left behind.
This blog post was inspired by a con call I had today. Some people on that call – all very smart and very good DBAs – did what a lot of DBAs I know do, and basically said, “I don’t want to be a Windows failover clustering expert.” Fair enough, but do you have any prayer of being successful with things like failover clustering (or the upcoming AlwaysOn availability groups feature in Denali) if you don’t undertstand the underlying platform which it is built upon? In some ways, you should be smarter than your Windows, networking, security, and storage guys as it relates to your implementations around this stuff because they probably don’t know SQL Server and what you don’t know about their shortcomings will hurt you long term. You must articulate what you need to be successful. I’m not just singling out failover clustering. This would hold true even if you are not using clusters or even a DBA and are just a plain ol’ IT admin. The only way to understand what you’re doing is to know how things work underneath the covers to a point you’re at least comfortable with it. By no means am I telling you to become a Cluster MVP.
If you’ve seen any of my talks, you know I’m a big supporter of PowerShell. Heck, way back in 2009, I wrote a blog post entitled “The Incredible Shrinking DBA Skillset Rant #1 – Scripting” and said this:
“I can’t say it enough at this point: learn PowerShell. And if you didn’t understand me, this should clear it up for you: L E A R N P O W E R S H E L L. You’d be foolish not to. Microsoft has often (and sometimes rightly so) been criticized for not standardizing toolsets between products. PowerShell is becoming that unifier, and you WILL be left behind as an administrator if you don’t learn it.”
On that call today, not only did the DBAs basically say “we don’t do that” with regards to PowerShell in general and for administering Windows failover clusters (do you ever patch your instances of SQL Server 2008/R2?), but one of them said even their Windows guys do not either. I was on a con call recently with another customer who said that where they use Windows Server Core (not for SQL Server – just qualifying), they have some issues with administering it because their guys are not command line or PowerShell knowledgable. So they generally don’t use Server Core because of the skills of their admins and their reliance on a GUI – it wasn’t a Windows issue. That floors me.
Look, I know we’ve all gotten used to some of the GUIs Microsoft and other vendors provide, but you may not get all options in a GUI. Some advanced things may only exist in PowerShell or some command prompt version of the GUI. Do not be scared of the keyboard. Maybe it’s because when I came up in the industry, I had to know command line for OSes like Solaris, HP-UX, Novell, and VAX/VMS (and no, I’m not 60!), but I can’t fathom NOT doing some command line stuff. Command line is sometimes faster, and to be dead honest with you, scripting is the only way to truly manage large environments for tasks to be repeatable. Running Maintenance Plan Wizards for 1000s of databases doesn’t really scale despite what you may believe.
I know not everyone out there is resisting scripting or burying their heads in the sand saying things like, “Dealing with the Windows cluster stuff isn’t my concern.” Kudos if you’re not that person. If you are – even a little – go ahead, continue to think that. You might as well shoot yourselves in the foot, too. If you are a masochist, you’ll be in your element. If you want to have an easier time, wake the heck up and grab a (proverbial) strong cup of coffee. Don’t hit snooze on the alarm.
Consider this your second tough love wakeup call. 2009 wasn’t enough with regards to scripting, but this “It’s not my problem” attitude has to go away. If you don’t understand the basics, how can you do anything advanced? I don’t think asking folks to know a bit of hardware and OS stuff is unreasonable for a DBA.
Thank you Allan. I feel officially chided and challenged. Now where’d I put that Powershell book? I recall something about a month of lunches?? 😉
I’m glad 😉 All kidding aside, I just want DBAs to be the best they can be. And think of it another way: it makes you attractive to a potential future employer if you know more than how to make backups and run index jobs (generalizing of course – no one flame me!). It will also help when everyone starts to point the finger at you if something goes wrong and you can prove – outside of SQL – it’s not a SQL issue. So win-win all around.