MOST RECENT VIDEO

SQL MCM Day 7: One Week Down

Whew.

The first week was taught by Paul Randal (Blog@PaulRandal) and Kimberly Tripp (Blog@KimberlyLTripp), the husband-and-wife team of former Microsofties who founded SQLSkills.com.  To call them good trainers is an epic understatement.  They know how to deliver very, very technical material in ways that illustrate it well.  I had to stop Paul at one point and ask him how long it took to build a particular slide because the animations were so good at conveying a hard-to-describe process.

“Of course,” you say to yourself mid-week, “why doesn’t everyone know that you can just XOR all the IAM pages together to double-check the allocations on each PFS page?  It’s so obvious.”

But if you hopped into a time machine, went back one week before the class started, and said that same sentence to Last Week You, he wouldn’t even understand how that was related to SQL Server.

DBAs Are On a Need To Know Basis

As a DBA, I didn’t have the time to learn about stuff like IAM pages and PFS pages.  I was too busy keeping the trains running on time, tuning applications, building new servers, and avoiding disaster.

As an MCM candidate faced with an avalanche of really, really cool learning material, there’s a wonderful dilemma:

  • Should I focus on learning things to pass the exam (and maybe ignore obscure things that interest me)
  • Or should I give in to temptation and dive into the things I find mesmerizing, and skip things that don’t call to me (at the risk of not learning something required on the exam)
XKCD - Duty Calls

XKCD - Duty Calls

For example, during our first group study, we dove down a rathole and spent a lot of time discussing the intricacies of the ghost cleanup process.  I’m smiling as I type this because we had a really fun time debating and analyzing how a particular part worked.  When we asked Paul about it the next day, he explained it, but immediately pointed out that those fine-grained details wouldn’t be on the exam.  They weren’t even in the slide deck or notes, because we’d gone so far away from what’s useful for real-world architects and DBAs.  Nobody needs to know this stuff, but we’re hard-core geeks, and we find the inner workings cool.

Go far enough down the rathole, and you become really thankful for the MCM’s biggest perk: connections to brilliant people.  As much as I love the intertubes, there’s wrong information out there.  It’s hard to put a price on accurate information, especially when the design, performance, and security of your data is at stake.  Going through this class, suddenly I can appreciate how frustrating it can be for Kim and Paul to open up a web browser.  One could spend all day correcting bogus and misleading web pages, but that costs time, which is money, and there’s not much of an ROI on flame wars.  I can even make a case that if you’re a doctor, it makes sense to keep letting people shoot themselves in the foot.  There’s good money in removing bullets.

I don’t want to give you the impression that the class focuses on obscure internal processes, though.  Paul and Kim’s training upended the conventional 100-200-300-400 progression.  Instead of starting with 100-level material like “Meet Mr. Table and Mrs. Index,” it started with how the storage engine works.  On Monday, we covered things that most DBAs think they’ll never need to learn, let alone touch.  By the end of the week, as we gradually stepped away from the internals, we had a much better understanding of why some 100-200 level concepts worked the way they do.

When Do You Need to Know?

Good senior DBAs bust their humps the first year on the job.  They get the servers set up correctly, configure alerts & notifications to find out when things break, and harden security to make sure people can’t break things.  Once they’ve built a solid foundation, the rest of their time at the company is much easier, and they’ve got the free time to dig deeper.

That’s the perfect time to go for the MCM.

When you believe you’ve got things pretty stable in your environment, when you feel confident that your servers are under control, and you want to take your knowledge to the next level, the MCM is right for you.  I’ve already learned things in week 1 that I can quickly apply to my SQL Servers right now and improve performance, reliability, and scalability.  The only thing holding me back from sending out client & friend emails is that I don’t have the time to manage the responses yet.  For example, I connected to one friend’s server, ran a troubleshooting query, and found that we need to fix the log file setups.  I started banging out the email telling them what to do, but I realized it’ll take an hour, and if anything goes wrong in the process, I don’t have the time to help them troubleshoot.

Do I Actually Know?

We’re about to find out – my first exam starts at 8:00 AM Pacific.

My biggest concern (and I’ve heard the same thing from other candidates) is the test style.  What kinds of questions will be asked?  Will they be high-level design questions, mid-level implementation questions, or low-level syntax questions?  We keep rehashing the slide decks trying to cover these questions from all three angles, but it’s hard to come up with our own test questions when we don’t know that crucial element.  We’re going to breathe a sigh of relief once we see the first question just to know how to focus the rest of our studies on the next two exams.

Candidates who fail a test keep right on going, and retakes happen later.  Training starts again shortly after the two-hour exam completes, and the first teacher this week is the colorful Adam Machanic (Blog@AdamMachanic).  I’ve already warned the candidates that he’s younger than me, smarter than me, and knows more about alcohol than me, so he’s obviously doing something right.  Or many things.

As soon as I know my results, I’ll tweet ‘em, but it may take a while.  The results are graded by hand due to the question complexity and evolving nature of the tests.  This isn’t an MCP test that’s been beta’d with thousands of candidates, so they still monitor the results closely each time.

Wish me luck!

More on the Relative Value of Projects

A while back, I blogged about the importance of recognizing database values.  If you’ve got a dozen databases on a server, and one of them is hogging resources, how much is that database worth to the business?  If it’s a database housing low-value data (like employee web surfing habits) and the other databases are much more valuable (like incoming sales) then that guides your fix.  Move the low-value data to a lower-value server, or move the higher-value data to a higher-value server.  Don’t make your high-value apps suffer at the expense of poorly written low-value apps.

Saturday on Twitter, I was talking with another DBA (who shall remain nameless lest this come off in the wrong way) about a project.  He needed a free or low-cost way to monitor a free server with low-priority applications.  He said the company didn’t see the value in spending money to monitor those apps, so he didn’t have a budget.

I’ve been there myself, and I feel that pain.  I remember being a DBA and saying that every database was important.  Just because a server is development doesn’t mean it’s unimportant – if it goes down, the developers can’t work.  I like the developers, so I need to protect their server, right?

Nope.

Come back to the most basic part of the problem: the company doesn’t see the value in spending money to solve that particular problem.  It’s tempting for us to want to be the hero, to save the company money, to accomplish something they ordinarily would have had to pay money for.

Sleepless in Seattle

Sleepless in Seattle

But it’s the weekend.

They don’t call it free time because it’s free to the company.

Don’t get me wrong – I love working on the weekends.  People who love what they do, love doing it every day of the week.  I can say this with absolute certainty because it’s a bright, sunny day outside in beautiful Seattle, 9am, and I’m sitting in a Microsoft office studying.  But on the weekends, take a step back.  Step away from your day-to-day priority list and think about doing things that:

  • Things that energize you
  • Things that will pay off for your career long-term
  • And if you’re gonna work, pick things that the company sees the most value in

If they won’t give vendors money to solve a problem, they probably won’t give you a raise or a promotion for solving it either.  Go solve things that make your company executives drool with anticipation.  Follow the budget, solve the problems they see value in, and they’ll see value in you.

SQL MCM Day 3: Thieves and Clerics

I played a lot of Dungeons & Dragons growing up, and part of the game involves building your character.  You picked a class like thief, cleric, fighter, and so on, and your choice determined the strengths and weaknesses of your character.  Your character’s Strength, Dexterity, Constitution, Charisma, and Intelligence scores were affected by your class.  Players roll three six-sided dice to determine their scores, and their class gives them a bonus – or a penalty – for each score.  For example, a thief character might automatically lose 3 points of Strength (no matter what they rolled), but get a 3 point bonus in Dexterity.  Roll three sixes for your Dexterity, and presto – you’re nearly unstoppable in that one particular category.

Well, there's always Access.

Well, there's always Access.

Sitting in MCM training yesterday, surrounded by people with different backgrounds (developers, development DBAs, production DBAs, project leads, support engineers), the whole thing suddenly felt like a D&D game.  Instead of Strength, Dexterity, and Intelligence, our abilities were more like:

  • On-disk structure knowledge
  • Index tuning knowledge
  • C#/VB knowledge
  • Stored procedure knowledge
  • XML parsing knowledge
  • Backup & recovery knowledge

And so on.  I might have went in with a 14 for on-disk structure knowledge, but a 4 for C#/VB knowledge.  Nobody in class has a perfect 18 all the way across the board – heck, none of us even have 14 across the board.  But this raises two interesting questions; for each subject area, what’s the starting level for MCM training, and what’s the required score at the end?  In, say, the XML area, do you need to walk in with a 10, have the training start at 9 and take you to 14, and passing requires a 13?  If only we could lay it all out on a simple chart, but skills aren’t so easy to measure.

Look at it another way – no one person teaches the entire SQL MCM curriculum, but one person is expected to learn the entire curriculum at Master level.

The attendees’ attitudes are all over the place.  Some folks are completely comfortable with the odds being stacked against ‘em.  One person noted that their chances of passing the first round are roughly 1 in 8 – they have to pass three written tests and a lab, four tests at 50/50 odds each.  (Turns out the odds are running a little worse than that – in the last rotation, only one person passed all the tests the first time.)  Other attendees are getting surprised by this news, because they’d only heard about the pass ratios without knowing about the retakes.  They thought the 60-70% pass rates meant that 60-70% of the attendees came home with the certification, but that’s not how it’s going down.  There’s going to be a lot of disappointed people.

If an attendee fails a test, they still keep going – they just have to retake the failed test later.  Retakes, even the final 6-hour lab, are done remotely.  Several MCMs and Rangers have told us to expect to fail our first test, and to just pick ourselves up and dust ourselves off.  I hear ‘em, but a few of us are so confident in our knowledge of the first week’s material that we’ve vowed to throw ourselves off the roof of Building 40 if we don’t pass the first exam.  We’re only half joking – if we can’t pass this particular week’s test, we’re completely screwed, because this is our specialty.  We feel like we came in at 16s, and Paul & Kim have brought us to 18s.  Next week, though, all bets are off.

And for the record, my favorite character was a half-elf thief.

Why NUMA matters to admins

Here’s how to tell when you should learn NUMA.
Say you’ve got an IBM 3950, a high-end rack-mount server with 4 sockets, 4 cores each (16 cores total) and 64 gigs of memory.  If you’ve got several of these servers, you can connect them together via a daisy chain.  IBM makes a special interconnect cable that [...]

Read the full article »

SQL MCM Day 2: NDA Club

One of the classic lines from the movie Fight Club is:
“The first rule of Fight Club is: you do not talk about Fight Club. The second rule of Fight Club is: you DO NOT talk about Fight Club!”
Tom LaRock (Blog – @SQLRockstar) used this line (and many others) to explain what happens at the [...]

Read the full article »

SQL MCM Day 1: The Ides of March

I know kung fu.
Okay, maybe not, but day one of my Microsoft Certified Master training for SQL Server was pretty darned cool. I arrived to find my name on a spot in the classroom, plus my very own swag! We got:

A t-shirt that says “Microsoft Certified Master” – which I refuse to wear [...]

Read the full article »

MCM Day 0: No More Cramming

Tomorrow is the first day of school.
I wasn’t all that fond of school, if I’m honest.  My most vivid recollection of high school is that I constantly forgot my locker combination.  I kept having to go to the office for them to remind me, and it got so bad that the secretary knew my combination [...]

Read the full article »

Who’s Your Target Audience?

When I write blog posts or presentations, I want to write posts that will impress people.  I want people to say, “Wow, that guy’s a rocket surgeon.  He really knows his stuff.  He’s working on the cutting edge.”  I’ve talked to other people who want to get started blogging or presenting, and they usually have [...]

Read the full article »

Tuning SQL Server Transactions – and Meetings

Meetings are like bad blocking queries – they tie up precious resources and stop other people from getting work done. Today, let’s talk about how to optimize both of ‘em by doing homework ahead of time and minimizing the number of objects in the transaction.

Read the full article »

The PASS Summit Location Survey Results

The Professional Association for SQL Server recently sent its members a survey asking where they should hold their next summit – in Seattle again, or rotate it around the country.  Initially we heard that the results wouldn’t be posted for a variety of reasons, but the PASS Board of Directors heard the community loud and [...]

Read the full article »

Mar 3 - Day with the DMVs - free day-long webcast about performance tuning.

Apr 17 - SQLSaturday Chicago - I'm doing the keynote with Kevin Kline.

More Upcoming Events