Last year I decided to undertake some question and answer sessions with some of my fellow SQL professionals from around the world.
Today I am posting the second session where I had the chance to pick the brains of Kevin Hill. Kevin has worked with SQL for a long time and gives a valuable insight into life as a DBA as he shared some of his views and opinions and experiences as a SQL professional.
Incredibly insightful and extremely informative here we go, Q&A session #2, with Kevin Hill.
OK so first off, who are you and what do you?
I am Kevin Hill, a 17 year SQL Server
veteran and Cycling enthusiast. I am primarily a production admin, but am
currently doing development in SQL and SSIS. I ran my own consulting firm
for 7 years, and also did two contracts at Microsoft in their SQL Support
group.
How did you
start off working with SQL Server in particular?
I
started with MS Access in 1994, and in 1999 I needed something to connect to an
obscure Accounting package to pull reports. That something was SQL
Server’s DTS functionality (v7.0)
So what was it that led you from DTS
to SQL administration? Was it a planned move or just something you fell into?
Lol…DTS
is/was sort of a piece of administration…just import/export. But…that got
my curiosity up so I went looking for what else SQL could do and found a whole
career under the hood. I veered off into CRM and Sales force automation
for a bit, but came back when that market cooled off.
And
still doing SSIS now!
Yep…data
import/export/manipulate is going to be around a long time. “ETL
developer” is actually a job title that pays well. Similar things.
If you had to define
what it is about working with SQL that you enjoy the most what would it be?
I like
being “the guy” that you call when the database is down, the website is down,
the revenues are gone…so I can bring it back to life…quickly.
What
was it like at Microsoft in the SQL support group, that must have been
interesting?
Always
busy, always issues to research when I was not on my 4 hours of phone time per
day. I was on the non-core “Cluster/replication/DTS/Security” team, so
most of my calls were more involved than installation and backup issues.
You can literally learn things walking down the halls of that place…hear an
interesting conversation…walk up and listen. Anywhere else, that is rude.
What in particular did you take away from your time at
Microsoft?
10
years out from the last time I was there I would have to say process and
approach more than anything else. Approach a situation with a down SQL
Server or failing install with calmness, knowing the resources and answers you
need are there. Follow the troubleshooting process and get to the root
issue. I carried that successfully into the next gig, where I stayed for
over 8 years, managing thousands of SQL Server instances with a team of 4 or
less at any given time.
You
mentioned running your own consulting firm, how did that come about and what
were the challenges?
I started out as an independent
contractor on 1/1/2001 as the dot-com crash ramped up to full force. Lots
of small customers, many of whom needed me to do things I could not do, so I
brought several others on board as sub-contractors and paid them really
well. The single biggest challenge is bringing new business in the
door. I don’t have that skillset, and could not afford to hire
anyone. Eventually I took a great full time gig and shut down my
firm. I still do a little freelance from time to time.
So
I know lots of people in DBA roles have contracting/consulting in mind at some
point. So a couple of questions on that:
What advice would you give people who are looking into
contracting?
Proper
form of business…sole prop, LLC, S-Corp. Decide all this beforehand, and
figure in self-employment taxes, healthcare, etc. before you ever get
started. Otherwise go contract W-2 through another firm if the back
office stuff scares you.
What are the benefits and pitfalls?
Lots of
each. Biggest benefit is deciding where, how, and when you want to
work. Biggest pitfalls…legal/tax stuff, and having to find new
contracts. Sales is hard.
How important is it to
be passionate about what you do?
Unlike
a lot of folks, I think it is more important to be experienced and confident
than passionate. A passionate DBA with limited experience can still mess
up a database. The right mix of experience, passion and confidence can
take you far
Thats a really good answer! So when
you're interview a DBA, what things do you look for in an individual aside from
technical skills?
Can I
work beside this person at 3am, 30 hours into a crisis without wanting to
throttle him (or him me…)?
Can he
communicate with people in non-SQL terms?
Can I
make him panic in an interview? If yes, I don’t want him on the team.
If the
candidate brings up personal info, hobbies, beliefs, etc. I encourage
that…
All of
this applies equally to male or female, despite me saying “him”…I’ve met a ton
of great women in technology
Haha, I now have great images now of how you make people panic in interviews! What do you ask more of, technical questions or non technical?
Mostly technical, then the generic “tell me about yourself” so they can open up with whatever they want to share. On technical, with one exception I am looking for understanding of the idea, not syntax. That one exception is “Give me the minimum T-SQL command to back up the master database to a local drive” Miss that, and we’re done….but I’ll throw in some more questions just to make you feel better.
Panic-inducing: I hand you my production laptop and have you get the local SQL Server instance to start (which I have broken before the interview).
- Backups
- Replication
- Clustering
- Patching a SQL 2005/8 cluster
- Log shipping
- Story time…what’s the worst thing you ever did, and how did you fix it?
- How do you back up tempdb
- Indexing strategies
- All of these, only if appropriate to the position, and for DBA, not Dev.
If you had to ask one question that could determine if a candidate is a good DBA or not - what would it be?
Assuming I had resume and references that look good: “what do you want me to know about your database administration skills?”
And how important is
certification?
For me,
not very. SQL certification will not surpass the years of
real-world experience I have. And if you have no experience, the cert
won’t help you much, other than knowledge gained from studies. One
definite benefit is that certifications often get used to filter resumes,
especially when the recruiter is non-technical.
Yes, completely agree. So what are
your methods for staying up to date?
Read
article, read another article, spin up a VM and try it myself. Occasional
SQL Saturday events and user groups
What can people expect
from the SQL events and groups and what do you get from them?
Knowledge, community, and here in Dallas –
pizza.
For me, its mostly connections to other DBAs,
unless I go specifically because of the topic. Tonight’s topic is “Biml Baby Steps - Automation for Everyone”
What are your own
personal favourite areas to work on within SQL Server?
Mostly
administration and SSIS packages. I do T-SQL dev, but writing stored
procs all day isn’t me. I’m very good at logical design, and seeing the
flaws in existing databases I inherit
Inheriting databases can be an
interesting situation, what sort of things do you look for with regards to
finding potential issues?
It’s a long and glorious list. From a
current server where I am now:
- SQL 2008 R2, RTM
- Incorrect Memory configuration
- Full recovery model on data that only changes once a week at most
- ZERO documentation
- New data is imported to a new table and a UNION ALL is modified to add that table
- ZERO documentation
- Stored Procedures have no comments, poor formatting and developer names in the name of the sproc
- Autogrow is 1MB, data imports are hundreds of MB each
- Everyone is sysadmin, probably including you…
- Change control process is intentionally shortcut and ignored on this internal production system
- Ownership changed to me in December, then was yanked back 3 weeks later with developers overwriting my fixes in prod.
That's an impressive list, reminds me of one or two environments! So what's the one thing people can do make your life easier when you inherit a system (I suspect documentation!)?
In
person handoff/intro/walk-through. That is not always possible of
course. If not, give me time to reverse-engineer from live
activity. And documentation :-)
I've just wrote a
piece about the essential items for DBA's, specifically scripts...are there
any scripts that you use routinely?
Mostly my own homegrown stuff, but I have Adam
Machanic’s sp_whoisactive, and a few performance scripts from David West.
How important is it to
gain knowledge in other areas, inside SQL or out and is there anything
particular you are looking into at the moment?
Extremely
important from a career perspective. If you are only an admin, learn some
Dev or SSRS. I was laid off after 8 years and found myself several
versions behind, and knowing nothing about SSRS, SSAS/BI or AlwaysOn
Availability Groups. This stood out like a sore thumb on my
resume. Also, you must get familiar with at least one scripting language
(I’m learning Python), and get very comfortable with PowerShell.
Very
good point, a lot of people talk about keeping a very broad skillset and I was
going to ask about non-SQL areas and you mentioned Python, are there any other
areas that you are learning or have learnt about?
I
should be learning more about current OS and Storage, but I’m in a DEV role now
so I’m busy refreshing myself there. I was a paper MCSE back in 1999 so I
have just enough OS to know when to stop what I am doing and call the right
team.
I knew
“line number BASIC” back in the 8th grade, but have never been
a talented programmer. If you can develop and admin, you will do really
well.
Speaking
of development, how do you as a DBA promote a good relationship between
yourself and dev teams?
Like
any other relationship, communication and courtesy. I don’t get into the
name-calling and insults that a lot of DBAs like to use for developers. I
teach them things that they need to know, and sometimes they teach me some Dev
stuff. Neither of us has a job without the other. I’m
constantly amazed at how people in IT consistently forget about “Please” and
“Thank you.” Treat people with respect and they work with you every time.
So
SQL aside, should you learn about other databases, Oracle, NoSQL for
example?
Absolutely! In order: SQL, Oracle, any NoSQL/BI/Big Data type, and maybe MySQL….list
based on benefit to the resume.
I got asked this the
other day so I'll do the same, describe being a DBA in three words
Security, Availability, Performance. Or,
More coffee please.
Haha, the latter especially! What advice would you
give to someone who is looking to start working with SQL, either as a DBA,
database developer?
SQL 101
– learn how to back up and restore a database…even if you are not an
admin. Read blogs, attend community events, follow SQL Server MVPs and
other experts on Twitter and find a Senior SQL person to mentor you.
Are there any particular SQL Experts
that you follow?
I’ve
met almost all of this list:
- Paul Randal – possibly one of the smartest people in the world on SQL Server internals
- Brent Ozar – brilliant and funny.
- Ryan Adams – local to me, great guy and very skilled in HA/DR. Paid to go to his pre-conference at SQLSaturday Austin recently
- Adam Machanic – wrote sp_whoisactive, which every DBA should be using
- Thomas LaRock – Solarwinds and past president of PASS
- Anyone that is or ever was a SQL Server MVP
Yes I 100% agree! All
of the guys you mention there are incredibly talented (I'll be seeing Thomas
LaRock at SQLBits soon); so what is it that makes people follow these guys in
particular, expertise aside?
How well they communicate for the most
part. A genius that can’t communicate isn’t all that helpful when he
cannot touch the keyboard. I met Joe Celko 2 weeks ago and was looking
for something to have him autograph. Always pictured him as a grumpy old
geezer (much like myself), but I was totally wrong. Incredibly nice, very
engaging and the only dude at SQLSatAustin in a suit.
There's
lots of people but Brent is the one that springs to mind who mastered the
balance of having both the expertise and the ability to communicate to people
whether complete novices or experienced SQL folk.
What
are you views on the junior DBA role and do DBA's make good mentors?
Everyone
has to start somewhere yes? You need to make sure your Juniors are
following processes and best practices to ensure you minimize the risk to
production that ANY DBA can make. Some DBAs are good mentors, some not…depends
on the person and their desire to teach.
Have
you been involved in mentoring and what did you take from it?
I
was never on the receiving end as a DBA, but I did mentor a friend for a few
months. Very senior Windows/Network/Hardware guy looking to add to his
basic skillset. We went through best practices, backups, DR techniques
already in place at the company. Then he took a management
job. Since then I received an email that he got and resolved a
database mirroring ticket completely on his own at the company he now works
for. I did not teach him mirroring :-)
How important
has social media become to technology professionals?
Very. I hang out on Twitter every day. The #sqlhelp hashtag is the easiest way
to get some of the best minds in the world looking at your issue, so you can be
pointed in the right direction.
I think the strength
is the number of people/experts giving up their time to help others through
forums, #sqlhelp etc
Agreed – without that I would still be trying
to figure out how to query an XML file!
SQL
2016 is just around the corner, any particular functionality you're looking
forward to?
Availability
groups, since I am a HA/DR freak. That is day one, conversation one
at any new place. Yes, that is not a SQL 2016 new feature, but I’m still
trying to get my customers off 2005/8!
Finally, if you weren't doing SQL
what would you be up to?
If I
still need income, probably I would go back into the Finance world. There
will always be data and money to manage. If I
won the lottery, I would be a full-time cycling coach for kids.
I thoroughly enjoyed doing this Q&A, for me it was the perfect follow up to the first one I did with Sergey Smirnov - it was a bit like doing the bands tricky second album and genuinely I found the article a brilliant read and I really hope you find it as insightful as I did. You can find Kevin at the following: