What was your career path to becoming a DBA?
As with many of my peers, I'm an accidental DBA and the world of SQL Server was thrust upon me by events I had no control over. I had written compiled code to receive, process, bill, and invoice several million call-detail rows of data each month.
It was good, fast code but my boss, Al Barash, knew we were going to grow even more rapidly than we had been and was worried about scalability for the future. He had hired a consultant by the name of Rich Bay for a different task. During the various meetings they had on that task, conversation eventually drifted to what I was doing and Rich told Al about SQL Server.
To make a much longer story shorter, Rich set up a Windows server, a pair of domain controllers, and the SQL Server. Then, he and I went to the bookstore and he showed me a couple of books to buy to study from. He marked the chapters he felt I should study and then left me mostly to self-study. He was ready with an answer for the occasional questions I had for about a week but I was pretty much on my own.
As a bit of a side bar (and I didn't realize it until years later), Rich didn't mark the chapters on Cursors and While Loops in the books we bought for me to read. After four days of some pretty intense studying, I started developing real code in T-SQL.
I ran into a problem and asked Rich how to assign a value to a variable for each row. His answer was simple and direct. "To do that, you would need a cursor and if you ever use one, I'm all done teaching you." I didn't realize it then, but that's when the proverbial "Anti-RBAR Alliance" was born.
Each time I solve a performance problem in SQL, I thank Rich under my breath. I also thank Al, my old boss, for giving me the wonderful opportunity to become an "Accidental DBA".
Why do you think it’s important the industry recognizes the work DBAs do? And what has given you most satisfaction?
To answer the first question, I don't believe that most people, including some CIOs, actually know what a good DBA or SQL Developer is, does, or can do. I believe that a lot of people, including many C-Level managers, think that databases are "just a place to store data" and that, other than changing backup tapes, a DBA is nothing more than a high-priced baby sitter for a system designed to take care of itself.
They just don't understand the value of their data until the person assigned to occasionally take care of the databases or servers posts a question on an SQL forum that starts with "My database is corrupt and my backups won't restore” or "We've just been hacked…" or "The server is slow…".
Recognition of what DBAs do, like Red Gate has done with the Exceptional DBA award and like Microsoft has done with their MVP awards, helps spread the word that data and the knowledge to take care of it is important and that it takes a special type of person to protect it at all times, even at three in the morning as so many DBAs have done so many times in their careers.
To answer the second question as to what has given me the most satisfaction, that would be seeing the product of what I've tried to teach all along, which is "Pass it forward". I get no greater joy than seeing someone's light come on (and, sometimes it's mine) and then for them to pass it forward by teaching someone else.
How much does trying to be an exceptional DBA matter to the job you do?
It means nothing and it means everything.
I say it means nothing because I don't even think about it as being an "exceptional" effort. I know how important data is to a company and I know how important it is for everyone that touches the data to be knowledgeable about how to manipulate it and protect it. I always try to do it “right the first time, all the time” and I try to help anyone working with data do the same thing.
I say it means everything because it's my job and one of my favorite hobbies. Some people get enjoyment from solving crossword puzzles or playing Sudoku or what have you. I enjoy solving problems in T-SQL. I also enjoy teaching… a lot. The folks at work call me "Professor" because I'll help anyone and everyone with an SQL problem. If I don't know the answer, then we discover it together.
I love teaching T-SQL so much that I paid my own way to PASS 2010 and a couple of SQLSaturdays just for the opportunity to teach something different to my peers.
Your answers to queries on SQLServerCentral.com are popular among the SQL Server cognoscenti. Why did you decide to share your knowledge in this way and what do you get out of it?
It happened a long time ago. I had a problem with deleting duplicates from a table of several million rows and I couldn't quite figure it out. At the same time, my boss decided to send me to a weeklong course in the implementation of SQL Server. Near the end of that course, I asked the instructor about my problem. He gave me the same technically correct, yet incredibly useless, answer that I had found on an SQL forum: “If you’ve designed your database correctly, you shouldn’t have dupes.” Heh, it was a staging table of third party data and what I was trying to do was to do "everything right."
Disappointed, yet undeterred, I spent the weekend trying to solve the problem. I almost gave in to using a WHILE loop when I remembered something from one of the books I studied called a "self join".
I'd never used one before but thought it might be just what I needed and, darned if it wasn’t! Then I remembered that a couple of folks on the T-SQL forum of Belution.com (long gone, now) had a similar question where we all received the same incredibly useless answer as my instructor had given. I knew what I had just gone through and decided to give those folks the proverbial "leg up" by posting my hard earned solution.
While I was there, I noticed some unanswered questions that I'd not seen in any of the books I'd read and thought the answers to the questions could be useful in the future. So, I sat down, did some research and a whole lot of experimentation, came up with solutions that worked, and was able to apply some of them in my job. I posted my answers as thanks for the questions that gave me the opportunity to teach myself something new that I hadn't found in any books.
The response was fantastic. Not only were people thankful but others joined in with solutions of their own and, needless to say, not only was my constant craving to teach satisfied, but I learned more than I had taught.
It wasn't only some T-SQL code that I learned that day. I learned that there are people just like me out there. Over the years, they've formed incredible communities of knowledge and the camaraderie is second to none. I'm honored they've let me become a part of it.