8 Traits of Highly Effective DBAs
By: Ayman El-Ghazali - Guest Contributor
This article originally appeared on TheSqlPro.com, republished here with author's permission.
The whole “7 habits” title is so cliché, so I decided to make it eight (that will probably relieve me from any copyright violations as well). So anyway, these are the eight habits/skills of highly effective database administrators, based on my own humble opinions. And although I come from the Microsoft SQL Server world, I believe most of these traits or skills can be adapted cross-platform.
Feel free to add your feedback in the comments section though, as the information presented is merely opinion-based. Here we go ...
1. Know your servers, what they do, what applications they support, and their names in production/staging/development.
This is an easy skill to master. First step is to create an excel file like the one in the screen shot below. No excuses! If you can’t pay for excel, use Open Office or Google Docs.
Now write down your different servers from production, staging and development. Put any Aliases in parenthesis so you know what other names the servers go by.
This document will pay for itself when you use it because you will start to remember which servers have what on them and what they are used for. You’ll look really smart in all your geeky gatherings at work as well. Plus, if you get a new employee who keeps bothering you about names, just send them this document and even get them to contribute. It’s a win-win.
2. Be proactive with maintenance and disaster recovery
One of the things I really enjoy about work is 3pm; that’s when I get to go home! What makes it possible is having servers up and running the way they should be, because when they're not, significant issues can arise. For example, I recall getting home around 4 p.m. last summer. Keep in mind, I leave my house a little after 6am to get to work by 7 a.m. and I was fasting for Ramadan. I received a call from my manager who was concerned about a database server acting up. Let’s just say we finished getting things in order around 8 p.m., just before sunset. I never want to experience that again and I doubt anyone else does either. After that night, maintenance was a priority and I have not had any problems introduing on my free time since.
On the flip side, you have to make sure you have some sort of Disaster Recovery (DR) setup because even if you have everything maintained and backed up, you could lose your server. Are you prepared? If not, stop reading and go get prepared before you go on to point number three. Also, an important element at play is understanding your different DR options. Some companies consider backups or even Replication to be a DR mechanism. That may work for some, but not all. There are many options within SQL Server, each with a price tag and a different set of pros and cons. Get ready to take your relationship with Books Online to a new level.
3. Understand the business needs behind the servers you support.
A DBA can be replaceable since the skill set is fairly common and many people (including business leaders) don’t understand the difference between a good DBA and a bad DBA; they just want someone to point the finger at. However, DBAs that understand their specific business, user needs, data and otherwise give themselves an edge over others in the field because that type of knowledge takes time to build up. As such, losing a DBA with some of the supplementary skills mentioned above is the loss of a knowledge base that is more difficult to replace in the tech staffing world.
You also have to consider that you will be providing a better service knowing what the business does. You can put yourself in a consultative position to help strategize and move the business forward. Or you could just play Angry Birds on your iPhone and call it a day ... just know the consequences that can occur.
Finally, understanding your business helps you gauge the financial constraints your company maybe facing. Good DBAs can put together the greatest Database Management System (DBMS) in the world if they had the kind of unlimited money that exists in video games. But, if you know your business well, you can get the money you need to build your systems properly by using justifications the business line will understand. A strong two-way communication with business-minded colleagues who control the money and direction of the company is definitely a plus.
4. Understand the ecosystem of the computing world (Networking, Web Applications, SAN, RAID, etc.)
Maybe I’m a bit biased with this one. I love computer hardware. I love reading about the new AMD and Intel Chipsets and having debates with other computer geeks. It is an asset at the same time. A DBA does not limit his/her knowledge just to the DBMS. A good DBA knows about RAID architecture, understands what a SAN is and the implications firewalls can have on database servers. A great DBA even knows how web applications interact with database servers and might even know some web programming languages (.NET, Java, etc).
Also, an integral part of any DBMS is the operating system it runs on. If your DBMS runs on Linux, I would hope you know how to use it. The same holds for those of us who work in a Windows Server environment. You should know how to get some work done without crying out to the Operations team for help. Many DBAs are expected to do both the job of the DBA and the Operations/Network Administrator, so plan accordingly.
5. Learn and use Business Intelligence tools
Business Intelligence (BI) is huge now. At the end of the day, upper management is not going to look at raw data. They’re also not going to look at cheesy results sets that you got from a query that does fancy aggregations. You could throw the numbers into a fancy excel file, but that is quite static (though I know some smarty pants will say you can refresh your data in Excel). My point is, BI tools are easy to learn and easy to use and you can make the data look great with new charting options and so on. They also help justify all that data you are charged with collecting, storing and securing.
Again, the point of understanding the computing world's ecosystem comes into play. BI tools today are very close with DBMSs. As such, you most likely will be designing a system with some sort of BI function, so shouldn’t you understand how it works?
ETL tools are part of the BI suite for SQL Server and are extremely valuable. So, if you’re in a data warehousing shop I’m sure you will need to start familiarizing yourself with SSIS.
One other point I wanted to make is that BI tools are fun to use! It’s nice to actually create a report or an OLAP cube to see how your data looks. You can also create some great reports to help you understand your systems better and import them into Management Studio or even put them up on a report server. Your creativity is the limit.
6. Security of your servers is security of your job
If someone steals the password to your bank account and takes all your money, how would you feel? I’m guessing you would be mad. By the same token, imagine if your employer lost all the data that took so much time, energy and money to create. I’m guessing they would be mad as well. Most likely, you will be in the path of that bullet, catch my drift? The word 'Administrator' is part of the DBA title for a reason ... you need to administer your job security!
7. Be an above average Database Developer
There is a distinction between development and administration, whether people want to admit it or not. However, there is a cross over with both sets of skills. In other words, no developer should go without understanding some of the DBA work, tasks and concepts. And as a DBA you better know how to do development. You cannot live without it, and a strong development background will help you with performance tuning and understanding problems in your system.
8. Have the ability to do the DBA work without the GUI
9. BONUS Trait – Be nice to people when you talk to them even if you have to repeat yourself 100 times. Be patient with people who talk about your work like they are experts but know nothing. Good manners go a long way.
About the author:
Ayman El-Ghazali is a passionate SQL Server DBA, Developer, and Business Intelligence Developer. He has worked with SQL Server product 2006, holds a MCITP SQL 2008 DBA certification and is also a Microsoft Certified Trainer (MCT). He has been active with the virtual chapters of PASS, participating in online training and giving presentations. You can read more of his work at thesqlpro.com.
Infusive Solutions Inc. is an NYC-based niche technical recruiting firm within the Microsoft Partner Network dedicated to helping clients hire IT professionals and helping .Net, SQL Server and SharePoint developers as well as Windows Systems Engineers, DBAs and helpdesk support professionals take their careers to the next level. Join us on Twitter and Facebook.