I recently received some offline emails asking me about the best way to train in SQL Server. I see these requests on the forums every year about this time. “How do I become a SQL Server database administrator?”, “What classes do I need to talk?”, “What books do you recommend?”, and “Will SQL Server classes help me?”.
The problem with answering these questions is that different people learn in different ways. My learning methods are not your learning methods. I learn by doing, not by listening. I learn by breaking and then fixing, not by doing everything correctly. Since I didn’t learn SQL by taking classes, I can’t and don’t recommend that other people take classes.
My primary motivation for this recommendation is financial. When I did my training, I was making $9.00 an hour (about) in a customer service job. I barely had enough money to pay my apartment rent and buy groceries. I certainly didn’t have money to spend on $2000+ technical classes. For the cash-strapped would-be DBA, there are plenty of free training opportunities.
Many vendors offer free webinars (if you can sit through a little advertising), PASS offers free SQL Saturday code camps (the inspiration for my Saturday SQL blogging), and there are several SQL forums willing to talk people through what keywords they need to research and how to fix their broken code (and misunderstood concepts). Some of my favorite DBAS have blogs addressing SQL Server concepts in detail and showing their testing methods. I learned SQL by purchasing inexpensive PCs, downloading trial OS software, buying SQL Server Developer version (then it was only $25.00, now it’s $50.00, but it’s still cheap), purchasing clearance SQL Certification books from the bookstores, and then working through the exercises.
I recommend looking for books that explain SQL concepts in terms that YOU understand. I recommend joining a local SQL Server Users Group. I recommend finding a local mentor, if you can, and I recommend volunteering in your workplace to help the server team or reporting team. But I do not, and cannot, recommend classes because I never took them, don’t know how well they work, and don’t feel people who are strapped on cash should have to pay exorbitant amounts to get their training.
Anyone with patience and the willingness to set aside their free time for a few years can learn to be a SQL Server DBA. Yes, I said years. It took me 2 1/2 years to learn SQL Server well enough to get a help desk position supporting it. I self-trained. Maybe classes might make you feel like you’re learning faster, but my interview experience showed that the head hunters valued my self-taught knowledge over job-hunters’ class-learned knowledge.
If classes are where you learn best, and you have the money for them, by all means take a class. But if you don’t have the money and you won’t retain the knowledge after you leave the class, do yourself a favor. Learn SQL the slow, hard way. It won’t pay off today, but it will be worth it in the long run. I promise.

