SQL MCM Day 10: Comfort Zone

I’m kinda good at a few things.  I can tune pretty much any SQL Server to make it run faster.  I play a decent game of Extreme Query Makeover.  If you talk about your SQL Server application behavior for a few minutes, I can usually tell you where your bottleneck is.  I’ve even been known to guess an exact server configuration down to the storage setup from a five-minute Perfmon counter output.  I’ve got a core set of skills that enable me to make a pretty good living teaching people how to make their servers run faster.  I don’t get a big head, though, because I only know a relatively small subset of SQL Server.  When I open the Microsoft MVP private newsgroups, my eyes get wide at the questions – let alone the answers.

Before the MCM, if you’d have come to me with stories about a server running SQLCLR stored procedures, storing XML in the database, or using 2005’s table partitioning, I would have given you a pretty short answer: “Stop doing that.”

Unfortunately, the Microsoft Certified Master training doesn’t give me that luxury.

Adam Machanic, Japanese Snack Connoisseur
Adam Machanic, Japanese Snack Connoisseur

The MCM isn’t just about going deeper into subjects you already know and love.  Sure, some of the instructors can wax poetic about the finer points of your very favorite features, but sooner or later, you’re going to encounter a session on a topic you can’t stand.  It’s not enough to say, “That feature doesn’t scale” – your mission as an MCM is to master it anyway, because believe it or not, you’re wrong.

The MCM is about letting go of your prejudice against a feature and learning to make it work.  I’ve heard stories from instructors about candidates who angrily denounced sessions as irrelevant.  These students said they would never ever use a technique.  Those students will not be successful.  Going in, based on the prereading list, I knew I was going to encounter my old sworn enemies: CLR assemblies, XML in the database, Service Broker, and – perish the thought – replication.  As those topics came up, I kept an open mind.  After all, if anybody has a chance of getting it right, it’s the rockstar MCM instructors.  If I’m going to learn how to do CLR in the database, I would want to learn it from Adam Machanic (Blog@AdamMachanic).

I expected the instructors to come in with pom-poms and cheerlead their subject areas.  I expected them to recite a litany of ways that his favorite features ruled, and my opinion drooled.  Wrong-o: every instructor has been open and frank, explaining how sometimes things work and how all too frequently they fail.  Looking back, it all makes sense – they only want you to use a particular feature if it’s going to be a success.  They don’t want any implementation failures, and Microsoft encourages this open discussion (well, kinda open, under NDA anyway) because they don’t want failures either.  They want MCMs to walk out and have one successful implementation after another.

Like I wrote above, though, this bars me from simply saying, “I would avoid implementing that feature.”  Almost every feature I’ve seen covered does indeed have good deployment scenarios.  The problem for me is that I have to learn – and I mean really learn – how to successfully deploy them.  This means doing things that have burned you in the past, or things you’ve just plain avoided.  For me, that was SQLCLR.  I wish I would have spent a few weekends ahead of time with a .NET developer getting to know more so that I could have asked better questions.

If you wanna get the most out of the DBA training, you need DBA experience.

If you wanna get the most out of the developer training, you need developer experience – whether you like it or not.

At one point, Adam touched on a subject that wasn’t in the slide deck, then paused and asked attendees if they wanted him to spend 5 minutes talking about that subject.  He made it clear that it wasn’t part of the exam, but if attendees were interested, he could elaborate.  Some of them did, so he did.  I was left out in the cold because I didn’t have the ground level knowledge to take advantage of what he was saying.  He could have been explaining the contents of candied sweet potato french fries for all I know.

To grow as a person, you have to go outside of your comfort zone, and the MCM makes you do just that.

For the record, the candied sweet potato french fries were fantastic, and SQLCLR wasn’t too bad either.

Previous Post
SQL MCM Day 9: Taking Good Notes
Next Post
SQL MCM Day 11: When and How to Get In Free

3 Comments. Leave new

  • Great writeup Brent. Please keep ’em coming.

  • Brent,
    I have seen so may wars and meeting wasted because developers or DBAs were so bent on using a particular tool for a job that would be better served with another tool. Your write up reminds me of two BI gurus from Portugal that I follow, Marco Russo and Alberto Ferrari. Their approach follows the MCM way. The are incredibly open to using the right tool for the right job regardless of what that may be. SQL Server, 3rd Party, T-SQL, CLR, .net C#, etc… Where before I would have avoided CLR and C# like the plague, I have now opened my eyes to using the best tool to accomplish what’s needed and put prejudice(really stemming from a lack of knowledge I may have in a given area ***Cough..C#..dry heave***) completely aside. This approach has helped make many projects easier on the development side but also on the chap that will inherit admin duties once it is in production and my baby hits the world. Great article!


Leave a Reply

Your email address will not be published.

Fill out this field
Fill out this field
Please enter a valid email address.