Tag Archive: mcm

SQL Server Certifications: What to Take and How to Prepare

Whether you’re already a database professional or would like to become one, you’ve probably thought about getting certified in SQL Server. Do you need to be certified? What certifications are available and which should you take first? How should you prepare for the exams? Kendra Little is a Microsoft Certified Master in SQL Server. She’ll explain what certifications are available, what the advantages are of becoming certified, and give practical tips for making the most of your exams.

Want to see the links from the video? Scroll on down– the links are at the bottom of the post.

SQL Server Certifications: Helpful Links

Certification Exams for Microsoft SQL Server 2008

MCTS MCITP MCM MCA
Database Administrator Exam 70-432 Exam 70-450 Exam 88-970
then
Exam 88-971
MCA Board Exam
Database Developer Exam 70-433 Exam 70-451
Business Intelligence Developer Exam 70-448 Exam 70-452 N/A N/A

Studying for SQL Server Certifications

Tools to Build Your Own SQL Server Lab

Low Cost (or Free!) Virtualization Products

Using Amazon’s EC2 as Your SQL Server Lab

Kendra Little

Kendra specializes in high availability and performance tuning. She is a Microsoft Certified Master in SQL Server-- the highest technical SQL Server Certification available. Kendra loves databases and software development more than long walks on the beach. Those cartoons in her blog posts? She draws 'em all. Read more and contact Kendra.

Website - Twitter - Facebook - More Posts

Brent Ozar PLF Adds Another MCM

Nope, we didn’t clone Brent. I am honored to say I’ve earned the Microsoft Certified Master SQL Server 2008 certification.

Seriously honored.

I feel awesome.

What’s the SQL Sever MCM?

“MCM” stands for “Microsoft Certified Master.”

As Microsoft describes it, “the MCM program is the highest level of technical certification; it helps recognize and validate an individual’s ability to design, implement, and troubleshoot solutions built on Microsoft software and technologies.”

As I describe it: The MCM is the biggest, baddest technical certification you can get for SQL Server. This isn’t a certification you can earn by memorization. You need to find the devil in the details and demonstrate you can send him running home screaming. Again. And Again. And again.

What Am I Most Excited About?

This isn’t the only way to show I have an enduring passion for learning, for databases, and for scaling software. There are many ways to do that!

But to me, this is a big symbol of how much I love what I do.

I’m excited to keep learning about technology– that’s not changing. As an MCM, I join a very cool, very smart community of people who are invested in learning and developing new solutions.

I’m most excited about helping others understand the MCM program and work toward their own goals. If you’d like to work toward this certification— I made it! I can help out. Unsure if this is the right thing to aim for? I know how to help you figure it out.

Learn more on our SQL MCM page.

Kendra Little

Kendra specializes in high availability and performance tuning. She is a Microsoft Certified Master in SQL Server-- the highest technical SQL Server Certification available. Kendra loves databases and software development more than long walks on the beach. Those cartoons in her blog posts? She draws 'em all. Read more and contact Kendra.

Website - Twitter - Facebook - More Posts

SQLskills MCM Videos: Behind the Scenes

A few weeks ago, Microsoft unveiled changes to the Microsoft Certified Master (MCM) of SQL Server program and showed off new free video training materials by SQLskills.  I was curious to hear what the community would think about the new certification and our training materials.

Jason Strate (Blog@StrateSQL) was the first to blog about trying to pass the MCM.  There’s two parts to the MCM test now: a written multiple-choice exam, and after passing that, a six-hour hands-on lab exam.  Jason didn’t pass the written exam the first time, and I applaud his honesty in blogging about that.  It’s valuable for readers because you need to look at Jason’s credentials before making a run at the exam yourself.  I usually recommend that senior DBAs just “Iron Man” the MCITP exams – take the exams without studying, then decide what areas of your knowledge need some improvement.  I don’t recommend that at all for the MCM exam; spend some time – or a lot of time – going through the training material first.

The easiest way to get started is by watching the free training videos we recorded.  I shamelessly copied (plagiarized?) Paul’s opening line of his videos: “(These videos) are not a replacement for the experience you’ll need, but they will show you the breadth of material you’ll need to know, and the depth to which you should know it.”  Candidates can watch all 40 hours of training videos and still not be ready for the exam.

For example, my SQLOS video is 30 minutes long.  I just can’t teach SQLOS concepts in 30 minutes – Gert Draper’s SQLOS talk consumed 4 hours when I was at the MCM – so I had to pick specific areas to cover.  Rather than trying to do justice to CPU scheduling, memory management, and SQLOS’s services, I focused just on CPU scheduling. If you watch the video, you’ll see how deep you need to go on CPU scheduling, and you’ll see the other parts of SQLOS that you need to research on your own.

Recording those free training videos proved way more challenging than I’d expected.  How much could I assume that the audience already knows?  If I only had 30 minutes to cover a particular topic, I didn’t want to waste time on something most senior DBAs already knew.  The MCITP DBA and MCITP Database Developer are prerequisites for the Microsoft Certified Master program, so I assumed anything MCITP-testable was too basic.  However, the MCM requires knowledge of things outside of the MCITP, like virtualization.  How much should I assume that the viewer already knows about virtualization?  Should I define the terms “guest” and “host” or just skip right past that?  I found myself thinking about my SQLcruise attendees.  I thought, “Would Dave Levy know this?  Would Crys Manson know it?  Is this something Yanni Robel has talked about?”

After the first round of videos went live, I gritted my teeth and braced for the feedback.

Nothing came.

The silence reminded me of what happened when we published our book.  I had expected a furious roar of people pointing at various lines in the book, yelling, “THIS IS BOGUS!  THIS IS ALL WRONG!”  Only one or two bug reports trickled in over time, and in the quiet, I wasn’t sure if people were getting any value out of the book, or if maybe, just maybe, we got everything right.  In the year since we published the book, I’ve gradually heard good things from readers, so I know it worked out well.

We slowly started getting feedback.  Andre Kamman sent me an email questioning something I’d said in the Baselining & Benchmarking video.  I’d said Page Life Expectancy can drop during backups.  I’ve seen that happen time and again during my career, and it’s why I discard memory statistics from times when backups are running.  Unfortunately for me, Andre is one smart fella (and a gentleman, one of the many great people I love seeing at SQLbits) and he also included a link to a Paul Randal blog post saying PLE isn’t affected by backups.  Uh oh!  So now I have to do some rigorous testing to prove that out – I’ve got a hunch that it’s caused by the third party backup software I use, which consumes memory during backups, and might be putting SQL Server under memory pressure.  It shouldn’t, but…

From that point on, as I recorded MCM videos, I kept rerecording the same slides trying to make sure I didn’t misstate anything.  My regular speaking style is very fast, loose, and animated.  I jump into impromptu soliloquies on a topic, thinking of new ways to explain stale topics, and this carries a huge risk with recorded videos – especially those with a big audience.  The PLE quote was a great example, because I spoke off the cuff trying to explain reasons why PLE usually drops.

Turns out that even just mentioning Page Life Expectancy and possible thresholds for it is fraught with peril.  Someone posted a completely misleading blog entry about why PLE should be exactly 300 – which is wildly incorrect – and that led Paul to imply that there’s no such thing as a threshold for PLE.  I agree that there’s no black-and-white good/bad number, but the lower PLE gets, the more turnover you’re experiencing in memory.  That doesn’t necessarily mean your server needs more memory, and in fact, buying more memory may not be the best way to improve performance.  The classic example is a query doing huge table scans because someone added an additional field to a commonly used report, and the query no longer uses just a covering index.  Adding the new field to the index (or removing the field from the report, ha ha ho ho) might improve performance more than adding memory.

At the MCM level, there’s even religious wars about which terms to use.  The term active/active clustering refers to a SQL Server cluster where multiple nodes are running active instances of SQL Server on each node – but so does the term multi-instance clustering. The term multi-instance is more technically correct, but it’s not a commonly used term – the market standardized on active/active clustering a long, long time ago.  I used the more common wording in my clustering video, but I took pains to explain why that term (as well as the term shared-nothing clustering) is misleading.  Geoff Hiten, a clustering MVP that I very highly respect, took me to task for using the misleading term.  He’s totally right in that multi-instance is better, but that wasn’t an objective I wanted to pursue in the MCM videos.

You know the drill with SQL Server answers – it depends.  As much as we try to clarify points in the videos, there’s always going to be contentious points that people will debate.  To help facilitate that, Microsoft is putting together a forum where viewers can discuss questions and MCMs can offer guidance.  In the meantime, feel free to email the presenter of each video directly with your questions.  Please email us, rather than tweeting, because the 140-character Twitter limit doesn’t do justice to questions or answers.  If you’d like to crowd-source your question before the forum goes up, feel free to post programming questions on StackOverflow and admin questions on ServerFault.  That way, you can elaborate in detail on your question, and we can get lots of brains involved.  You can then tweet a link to your question with the #SQLhelp hash tag to get the Twitterati’s attention.

Finally, I’d like to give you one more point of contact.  Joe Sack (@JosephSack) leads the SQL MCM program.  He’s put in endless hours to help craft the entire experience.  He listens patiently to feedback, takes action, and believes in doing the right thing for everybody involved.  He’s been the driving force between getting the tests right, getting the testing facilities to obey the rules, and what might even be my favorite thing of all, getting freely available MP4 versions of these videos available for download from Microsoft.  No matter what kind of device you use, there’s free SQL Server training videos available for you right now.

Happy learning, and good luck with your exams!  If you pass the written test (and even better, the lab), please let me know – I’d like to congratulate you personally and interview you.  I know the rest of my readers would love to hear your MCM story.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Changes to the Microsoft Certified Master of SQL Server Program

Microsoft just announced major changes to the Microsoft Certified Master of SQL Server program. I’m excited about the new direction of the program, although I’m a little biased – I helped with the program’s changes to reach the right audience.

The Original Microsoft Certified Master Program:

  • $18,500 entry fee for 3 weeks of training (and possibly certification)
  • MCITP: Database Developer 2008 and MCITP: Database Administrator 2008 required first
  • You had to show up onsite in Seattle for 3 weeks straight
  • Three written multiple-choice exams onsite during the training
  • One six-hour final lab

This setup had a few problems. It was tremendously expensive – both in terms of the entry fee and the 3 weeks of downtime. It was hard to schedule 3 weeks off in a row even if you had the vacation or your company was willing to eat that expense. You might not have needed all 3 weeks of training, and you might not have been able to travel around the world to get it.

Bottom line – having the training and the certification as an all-in-one package just didn’t scale, and that’s evidenced by the fact that only a handful of us outside of Microsoft were able to pull it off. I know a lot of people who are more technically qualified than I am, but they couldn’t justify the Master program. So how could we get more qualified people to be Masters?

The New Microsoft Certified Master Program:

  • MCITP: Database Developer 2008 and MCITP: Database Administrator 2008 still required
  • Certification and training is totally separate
  • Initial written multiple-choice exam – $500, and can be taken at Prometric testing centers around the world
  • 6-hour lab exam – $2,000, and can be taken at select secure Prometric testing centers around the world

The two biggest barriers to entry – a huge initial price tag and 3 weeks of lost work time in Seattle – are now gone! It’s now easier to prove that you’re a Microsoft Certified Master of SQL Server. (Note that I did not say it’s easier to be one, because it’s still very, very, very tough.)

Since the training is now separate, it’s up to you how much training you want to get, and who you want to get it from. If you’re already an expert on some subject areas, maybe you’ll only get training on the areas where you’re weak. Perhaps you’ll choose to get the training in chunks – one week’s worth this year, one week’s worth the next year, and then make a run at the exam. I would advise trying not to pass the lab exam cold, because this is most definitely not the MCITP.

To help you get up to speed, Microsoft partnered with SQLskills to provide dozens of hours of video training online completely free. Bob Beauchamin, Kimberly Tripp, Paul Randal, and I recorded some of our best presentations on internals, CLR, storage, performance tuning, and more. You can watch our free Microsoft Certified Master online courses all in the comfort of your cubicle. (That link may not be live yet – check again later in the day.)

If you want more personal, interactive training, you’ll be able to get it from more places. I’d argue that you still want to get it from the most qualified, highest rated trainers around. You want to get it from people who aren’t just experts at training – you want your instructors to be hands-on consultants who live this work every single week. When we’re not training or helping the community, we’re consulting in some of the toughest environments around. Yes, of course I mean SQLskills – we’re offering a series of events around the United States in 2011 to give you Microsoft Certified Master approved training. We’re the only trainers that have been involved with the MCM program from the very first rotation, and we’re the best people to help you achieve the highest level of technical certification on SQL Server. You can check out our upcoming SQLskills Immersion Events here.

I really passionately believe in where the MCM program is going. There’s going to be more people recognized as Masters, and that’s a good thing, because there’s a lot of really qualified people out there. I’m not worried about the MCM becoming the next MCITP – a certification seen as having too low of value due to the braindump factor – because I was a contributor to the new MCM program. It’s a seriously high bar to pass, but I believe a lot of you can do it.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Inside the Microsoft Certified Master Program

The SQL Server Standard is an online magazine from the Professional Association for SQL Server.  In their latest issue, they published my article about what it’s like to apply for the MCM program, prepare for it, and live through it.

Read the SQL Server Standard

When you click on this link, you’re going to have to be logged into the PASS site.  It’s a free registration.  Once you’re logged in, you’re going to have to come back here and click the link again because PASS doesn’t save the page you were trying to access when you registered.  Yes, this sucks, and yes, I’ve told them it sucks, but it’s tough being a volunteer organization with limited resources.

Want to add something cool to your resume? Consider writing for the Standard.  It’s a good thing to have on your accomplishments list when you’re looking for a raise, a new position, or a new client.  Email Grant Fritchey and let him know what you’re interested in writing about, and if you’re stumped, check out my post on how to choose blog & presentation topics.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

SQL MCM: The Exams

If the DBA answer is always, “It depends,” how can Microsoft test DBAs?

Six of the SQL MCM R8 guys

Six of the SQL MCM R8 guys

Every week of the MCM program, attendees take a multiple-choice test. Afterwards, we gathered in the hallways and vigorously debated our answers. We agreed about most of the questions, but we had loud discussions about the pros and cons of a dozen of the test questions. The test really forced us to evaluate a lot of options. How many answers are right? Sometimes they tell you to pick three – and sometimes they don’t. Sometimes it’s up to you to figure out how many answers are right. I adore tests like that because they don’t give you any help, and they make you prove things for yourself. You’d better be right, too, because there’s no partial credit for halfway right answers. Time to be a master, as the posters in the classroom say.

The questions don’t involve regurgitating memorized syntax, either. Sure, some of ‘em can be figured out by the covered material, but most of them required you to put one and one together. It wasn’t just about knowing what the book says – it was knowing what the book DOESN’T say, and justifying your rationale. Every question has a comment area, and during the tests, keyboards were clacking away. I put comments on at least a quarter of my answers, saying things like, “I picked B, but only because you didn’t say you needed HA. You should have HA for this, which means you need D, not B.” I went way, way out of the way to back up as many of the answers as possible. The tests are graded by real, live human beings. More on that in my next post.

I passed all 3 exams on my first try, and I’m really proud of that. Before I got to the Microsoft campus, I was worried about the exams, not the final six-hour hands-on lab. I was so afraid of failing the tests that I studied my brains out every night for those rather than spending time with lab scripts. Attendees can bring their scripts and documents to the lab, plus use the web, so how hard could it be?

The Final Lab

Simon Sabin (Blog@Simon_Sabin) noticed all the studying I did during the last 3 weeks and asked me if it was possible to cram your way through the MCM. First, there’s an interview process before you even get accepted to the MCM, and you can’t cram for that. But for the sake of argument, let’s just say you fake your way through the interview, and you cram your way through the exams – there is absolutely no way to cram your way through that lab.

The lab was the best simulation I’ve ever seen of what it’s like in real life. The CIO’s standing behind you, asking you why the system’s not up yet, and why it’s not as fast as he wants it to be. The MCM lab is like the last question on Who Wants to Be a Millionaire when you’ve already used up all your lifelines. You don’t get the 50/50 option, you don’t get to phone a friend, and Regis wants to see how much you really know. The final lab on Saturday was the toughest IT experience of my life, and I’ve been through some serious nastiness. Obviously I can’t say specifics about what the lab involved, but I’ll do my best to walk the line.

As a DBA, sometimes people want me to do things that I’m not comfortable with. Sometimes they want to use SQL Server in ways that don’t make sense, like looping through records individually and doing CPU-intensive processing on them. Sometimes they want to use features I’ve never touched before, and I pad more time into my project timelines in order to get comfy with those features. Sometimes they want to combine features in ways that I’ve never thought of. I try to deal with these requests in a way that keeps the project moving forwards on time with the least amount of risk.

In the MCM lab, you don’t get the luxury of finding a common ground between what the client needs and what you’re personally capable of delivering. The client needs something, and they don’t care how SQL Server works. They don’t care if you’re comfortable. You’d better strap in and get the job done, cowboy.

At 11:30 AM, I got a several-page business requirements document that was more thought-out than what I usually get from clients, but in a very similar style. It was as if someone had parachuted in before me, interviewed the client, done a lot of the requirements gathering, and handed it off to me. It wasn’t perfect – but it was still better than what I usually get from managers. I took about five minutes to read it, formulate a game plan, and then got started working. I had a list of about half a dozen things I needed to accomplish in the client’s lab environment. I had to build some things, I had to adapt some things that were already in place, and I had to fix some things.

My heart sank as I realized what I’d have to do by 5:30 PM. I understood the business needs behind every single task I needed to do. I have big philosophical objections to doing some things in SQL Server, but not this stuff. It was all a match made in heaven – but I just didn’t know how to do some of it. They had completely legit business needs, but I couldn’t directly match some of those needs to anything in the SQL Server toolbox. It wasn’t like I could open SSMS, right-click on a few things, tweak some obscure parameters, and deploy a solution.

Or could I? As I built my list of tasks, I was absolutely positive that I was missing some obvious features or some simple DMVs. I kept thinking, “I’m gonna be so pissed afterwards. I’m going to be the only guy here who didn’t know about the Magic Beans feature that automagically does this stuff for me. I’m gonna be the only moron who rolled his own solutions out of duct tape, lint, and Cheesy Poofs.” We had access to the web, so I spent maybe two minutes searching for solutions, but came up empty. I figured out immediately that the MCM team has put a heroic amount of work building a test that simulates real client work, yet requires answers that you can’t find in Google. I will never breathe a word of the final lab contents because I think it does such a phenomenal job of gauging truly master-level expertise.

Getting Things Done

Whether you’re doing a lab or a real-life project, you have to design for the time you have. Artists ship. But should you:

  • A. Plan to be 100% done with 50% of the tasks
  • B. Plan to be 50% done with 100% of the tasks
  • C. Plan to be 100% done with 100% of the tasks

When someone else sets your deadline and your tasks with non-negotiable limitations, you need to decide whether you want to shoot for A or B. In the case of the MCM, I took approach B. I wanted to show that I was capable of doing everything the client needed, and that I knew what best practices were, but I just didn’t have the time to do it according to best practices.

For example, when I’m importing data from a file, ideally I want to know what the real field definitions are. Sure, today the longest value in the LastName field might be 40 characters, but what if the next batch has someone with a 60-character last name? I don’t want my processes to break. However, finding this out can take time, and the cost of being technically perfect is high. In situations like that, I might make LastName a varchar(100) and call it a day. Anytime I made a compromise in the interest of time, I added it to my running task list in Notepad. If I had the choice between doing something perfectly or doing it MacGuyver style, I did it MacGuyver, then made myself a note to come back and clean it up.

Even the seemingly easy tasks were hard. This was no point-and-click GUI-fest, and canned scripts didn’t help much. I brought dozens, maybe hundreds of scripts that I’ve used in the past. I think I only used two, and they only saved me maybe fifteen minutes, max. The rest of the time, I was banging out keystrokes, testing my work in TempDB first, and hoping like hell that it all worked when I tried it with the client’s stuff.

I finished the MacGuyver round after 4 hours, and then circled back to clean up some of my work. I walked out with about 30 minutes left because I’d gotten to the point where I didn’t want to touch anything else lest it break. My solutions worked enough that I was comfortable defending them. I could have built more, but in doing so, I stood a pretty high chance of breaking something. I turned in my solutions along with my laundry list of things I’d love to do if the client would be willing to give me a week.

After The Lab

I walked out and called Erika. I was glad I got voicemail, because I was on the verge of crying. I could barely keep control of my voice when I left her a message. I was exhausted, I was proud of what I’d accomplished, and I felt like I couldn’t possibly have done any better given the skills I’ve gathered over the years. I was still sure I was missing something obvious, because there was no way candidates could be asked to this much work in 6 hours.

As the other attendees came out, the experience was nothing like the post-written-exam discussions we’d had. Rather than debate the merits of our solutions, we all tried to rationalize each others’ solutions. We didn’t want to promote why our idea was right – we wanted to figure out what the other people had done, and learn from their approach. There were no easy buttons, no quick solutions. As we spoke, we were horrified to discover that we’d overlooked or overthought various pieces. Several of us (myself included) built out whole wings of stuff that we thought were a good idea, but weren’t technically required by the client. I was awed by the work of my classmates, who came up with really brilliant ideas and features.

Here’s the part that really got me: everybody I talked to pulled off Mission Impossible. We actually did most of the stuff we needed to do in the time allotted. I’m pretty sure one guy even pulled off 100% of the tasks to 100% quality, too, and I stand in awe of his skills. As the MCM blog announces new Masters, I’ll be the first person to sing their praises. Forget the certification – there were candidates who I would hire in a heartbeat because they’re so skilled.

The non-disclosure agreement really sucks because I can’t tell you how incredibly difficult that lab was, yet so perfectly in tune with the DBA experience. If you’re a production DBA or a consultant who doesn’t freak out when someone comes running into your office with a tough challenge, you can pass this. If you enjoy tracking down difficult problems and reverse engineering things to make them do what you want, you can pass this. It’s not gonna be easy, but your job isn’t easy either. There were parts of the lab that we wish would have been even harder to show off our particular skill sets, but they would have required making the lab longer – and remember, we didn’t even finish the work we’d already been given.

Passing the exam shows you know what’s in the book. Passing the lab shows you know what to do when the book runs out of pages.

Even in this seriously talented group of candidates, we all missed things. As we poured our hearts out over beers, many of us wished we could have another go at the same lab just to time ourselves and see if we could do it better. A lab like this really shows who’s in it for the technical challenge, for the internal pressure, and the excitement. We were very, very, very hard on ourselves, and one guy said it best: “If I was the instructor, I’d fail me. I expected better.” So many of us just aren’t satisfied with our skills and our results no matter how good they get. We always want more, and we never stop pushing.

But that’s how we ended up in the Master program.

What It Takes to Pass the MCM

Microsoft Certified Masters don’t know everything – but then, you can’t. There’s too many parts in the SQL Server box, and no one human being can know how all of them work. New features come out faster than you can learn them all, so you have to be able to prioritize. And even if you know them all, it’s not enough, because things outside of SQL Server are just as important. A couple of years ago, I got into SAN administration and virtualization to make myself a better DBA, and now I’m looking forward at other technologies to improve my DBA skills too.

There is no sharply defined guide to database administration – or any job – with a first page and a last page. The act of “working” is a morphing set of tasks that isn’t limited, and even the act of building the task list is part of the art. Being a Microsoft Certified Master is about being able to recognize what’s important for you to know, knowing the bejeezus out of that stuff, and just as important, being able to quickly figure out the parts you don’t know. It’s more than knowledge, more than training, more than task management, more than priorities – it’s the sum of all those, and how they make you a better SQL Server professional on the whole.

So as hard as it was, I’m very proud to say I passed the exams and the lab on my first try.

I’m a Microsoft Certified Master for SQL Server.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

SQL MCM: Now, the bad stuff.

The MCM isn’t perfect. The instructors and David Ikeda (the lead for this rotation) are trying hard to make the experience great, but there’s some areas for improvement. I’ve been holding back from discussing them until I’d seen all of the instructors; I didn’t want to post a complaint and have people connect that complaint with a specific instructor based on the date of the blog post. The things I’m about to voice happened with one or more of the presenters. The attendees are given a feedback survey for each presentation, and I voiced these same issues on each presentation where they occurred.

Before I start, I want to point out that people paid a lot of money for this training:

  • Sticker price per attendee: $18,500
  • Attendees in this rotation: 11
  • Total sticker price for 11 attendees before discounts: $203,500
  • Hours of training (at 9 per day): 135
  • Total class cost: $1,500 per hour (not including travel, hotels, food, lost revenue for the 3 weeks, etc)

That number can vary – some attendees got discounts, sometimes classes will have more (or less) attendees, but I’m just putting a number out there. Because of the cost, I had very, very, very high expectations for the quality. Some of these complaints may sound like I’m nit-picking, but when the class is paying $25 per minute….

Most of the presentations and demos were AWESOME. Some weren’t. Some of them were so bad that if I was at a community event like the PASS Summit, I would have walked out and switched sessions. In a room of just 11 attendees, I wasn’t comfortable packing up my laptop and leaving the room – it would have sent the wrong message to the rest of the attendees who might have been getting value out of the presentation. When we talked afterwards, though, it was very clear that the other attendees weren’t getting value either. I would say that roughly half of the days were of the quality I expected, about a quarter were alright, and a quarter were bad enough to make me ask for a refund.

Some presentations were way below MCM-level – Too many slides were way, way below MCM-level – like a slide that explains the difference between Windows authentication and mixed mode authentication. (I don’t want to give more specific examples in public as the content is under NDA, and I don’t want to embarrass specific presenters.)  I understand that the audience has a mixed background, I wouldn’t hire a junior person that didn’t know that. Other presentations covered things that were outdated even before I started in IT over a dozen years ago.  If I didn’t know better, I’d think one of the instructors was getting paid by the slide.

Some presentations were way outside of SQL MCM territory – one presentation started with the question, “How many of you are comfortable programming C# with anonymous methods?” Forget the fact that nobody in the room (not even the developers) raised their hand – my bigger complaint was that this wasn’t mentioned in the prerequisite reading list. How were we supposed to be prepared to tackle a subject that was so wildly outside of our subject matter area? There were a lot of glazed-over looks in those sessions.

Some of the Microsoft instructors weren’t prepared – for example, one presenter said out loud, “I don’t know what that bullet point means.” I had to explain a point for him on his own slide deck. Dude, it’s your slide deck – you have no excuse not knowing what your own slides mean. If you’re giving somebody else’s deck to MCM-level geeks, you’re going to be in trouble, because we ask some really difficult questions. If you’re not prepared to do a 400-level deep dive, just give us the deck as testable material and let us have your time to do group study. Another presenter was running on four hours of sleep and couldn’t remember a question long enough to answer it – more than once, he got just two sentences into the answer and asked, “What was your question again?” I didn’t want to distinguish which presenters were guilty of which sins in this list, but this particular sin is so egregious that I don’t want anyone thinking Adam, Greg, Kim, or Paul were guilty of this.

Some presentations felt like marketing pitches – marketing slides are appropriate if the audience is entirely Microsoft employees, because Microsoft has to evangelize their products internally. They have to train Microsoft consultants to “sell” a particular feature. However, when the audience includes external people who paid tens of thousands of dollars to attend, absolutely no marketing slides are appropriate. I don’t disagree that the subject matter areas were indeed important to SQL Server geeks, but sometimes the material didn’t deliver on MCM-geek-level training – more like salesperson training.

Some of the presentations were no more than the prerequisite reading. After some of the presentations, we looked at each other and asked how they were any different from the SQL MCM pre-reading list. Ordinarily I’d be really excited to receive such high-quality training, but since I’d pored over the pre-reading lists, I was a little disappointed that there wasn’t something more. I can’t emphasize enough that if you really, really go through the pre-reading list, you will learn a hell of a lot, and it’s completely free. The challenge is setting aside the time to really go through it, whereas the class forces you to sit in a room and hear it out loud. On the flip side, some of the presentations should be completely discarded and turned into prerequisite reading, because like I said earlier, they were seriously junior-level.

Some presentations were bulletfests. Some slides simply recapped what was in Books Online. Paul Randal did a fantastic job of avoiding this – when he had to show a bullet list of typical syntax or options, he would say, “You can read this list as well as I can,” and he’d take a quick drink of water while we read it. He would then move on. Other instructors would read bullet by bullet. I can handle an hour of that, maybe two, but not a day or more. Even worse, some slides had 10-15 bullet points, and the presenter would jump straight to one bullet point and say, “This is what’s important.” We had to take copious notes on slides like that, but it makes later studying much more difficult. Why were all these bullet points lying around? Was there something we missed? Presenters need to cover everything in the deck, and if something’s not important enough to cover, rip it out.

Some demos weren’t prepared ahead of time – some demos were done as point-and-click GUI tours without a plan, roughly akin to watching Books Online live. As an attendee, that’s really frustrating because those demos don’t come with scripts and they’re impossible to reproduce later. When we’re under the gun studying to reproduce things in the lab, we don’t have a video of what the instructor did in the GUI, and we’re forced to open Books Online.

Some demo scripts didn’t work – the instructors upload their scripts to the group SharePoint site for attendees to rerun later during studies. Some of these demos didn’t work, and attendees only figured this out when they regrouped the next morning and shared notes, each thinking it was their own problem. Come to find out it was the instructor’s code…

Many presentations overlapped with previous ones – all too often we had to tell the instructors, “Yes, we covered that a couple of presentations ago.” The presenters need to download the rest of the decks, read them, and dedupe their slide decks for overlaps. Every $25 minute is precious.

Running on Empty

Running on Empty

We went offtopic way too often – sometimes the instructor would dive off into a pet subject completely unrelated to the topic at hand. They would go into Connect to show a bug they’d submitted, or tell us how they wish SQL Server would work, or how it worked back in Sybase. Normally, I’d love to go off on a tangent with these instructors, because they were universally brilliant. Problem is, we’re on a schedule, and all too often the instructors ran late. The attendees’ time to eat, study, and sleep suffered.  I’m just not surprised at all that the first-time pass rate is so dismally low.

Some presenters couldn’t manage time – we either had to stay late to let them finish, or they hurriedly raced through the last presentations in order to get done. Some presentations were skipped entirely. Neither of these is fair to the attendees. (No, Kim, I’m not talking about Locking & Blocking, hahaha – you were right to skip that one, because it’s prerequisite-level material.)

Now we’re in a really ugly situation – Friday is the last day of class, and before we even begin, the instructors are over 150 slides behind schedule. We’re not going to be taught everything on the original agenda, and yet we’re going to be tested on it anyway. We’re going to do a crappy job of covering too much material in not enough time, and then to add insult to injury, we have from 5:30PM Friday until 8AM Saturday to study the quickly-covered material, plus be ready for the final 6-hour lab.

I can understand why a lot of smart people fail the final lab.

And I’m pretty sure I’m gonna fail it too.

I’m not happy about that. I’m not making excuses – if I fail, it’s 100% my fault - but one of the attendees said it really well: “I wish I could have skipped the 2-3 days of less-useful classes, used those to self-study for the lab instead, and I’d be much more likely to pass.” There’s been a lot of grumbling lately from the attendees who feel let down. I’ve put together a couple of pages of detailed feedback for David, Joe Sack, and the instructors, but I’m waiting to put a few days of distance between me and the MCM classes before I email ‘em. I want to make sure I’ve got them worded in a positive way, because right now they’re kinda bitter.

I’m still glad I went through it, though. I can’t even begin to gauge the knowledge I’ve gained. I’ve made so many notes of things I want to do when I touch back down on Earth, and I’ve made some great friendships with some of the brightest technical minds I’ve ever met – and that goes for both the instructors and the attendees. Yes, I just got done complaining about the presentations, but notice that I didn’t say the instructors weren’t amazing. These people have awesome, awesome minds, and they have an unbelievable amount of skills. I’ve got a half-written post circling in my head about how the biggest value of the MCM isn’t the exact step-by-step technical instructions – it’s the business-relevant knowledge of the instructors, and how they pass it on to you selflessly in a way you can reuse. At no time did I ever feel like a presenter was holding anything back from us.

I spent half an hour writing this to unwind so I could fall asleep, and I felt guilty this whole time for taking those 30 minutes as a guilty pleasure, but a man’s gotta do something to relax when the pressure’s this intense. Mission accomplished. Bedtime.

The next blog post will tell you whether I passed or failed, but if you want to know faster, you can check out my Twitter page for updates as I go through the exam and await the results. I’ll probably find out Sunday or Monday. Here goes….

Update 4/2: Joe Sack published a response on the Master Blog – “Free press doesn’t always mean lollipops and rainbows.” Both David and Joe have been exceedingly gracious about the entire ordeal, and they’re already working to improve the experience.  I’ve also gotten emails from some of the presenters apologizing for issues as well.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

SQL MCM Day 15: Logistics

There’s something really exciting about walking into Microsoft each morning.  I know it sounds cheesy, but I get the feeling that really cool things are happening all over the campus.  Love ‘em or hate ‘em, Microsoft builds things that touch our everyday lives, and this is where it’s happening.  I know a lot of Microsoft employees that I really, really respect for their knowledge, community efforts, and personalities.

And for three weeks, I’m surrounded by ‘em.

My MCM training is taking place in Building 40 on the Microsoft campus.  I’m staying at the Homestead Suites only a block away, and I’d highly recommend it to any attendees.  It’s way cheaper than everything else in the immediate vicinity – around $75/night compared to $150/night for real hotels like the Courtyard or Residence Inn.  The advantage of staying so close is that you don’t have to fight traffic.  During the MCM, you’re going to treasure every minute you can spend studying (or relaxing).  If you’re willing to drive 20 minutes each way in traffic, though, you can cut your hotel bill to around $50/night and get a hotel with a warm breakfast each morning.  That drive might not be so bad, though.

Rooms in the Homestead have a little kitchen with fridge, stove, and a microwave, so I stocked up on basic breakfast & dinner food when I arrived.  That turned out to be a bad idea – every day after class, I really like driving a few minutes to a nearby restaurant just to get out for a while.  The Homestead isn’t exactly welcoming, and it’s tough enough to get psyched up for an evening of studying.  If you stay farther away, then take a 15-20 minute drive from Building 40 to a hotel, you can hit a restaurant on the way in & out.  You’ll have a better frame of mind at a little higher expense.

The Homestead has a small laundry room, but I drop my clothes off at a nearby laundromat.  They’ll wash & fold your clothes for a fixed rate by the pound of clothes.  It costs 3-4x more than doing it yourself, but you don’t have to wait around for a free machine, and you can spend that time studying instead.

No matter where you decide to stay, bring an Ethernet cable.  Hotel WiFi is a gamble, and you can often get better performance via hard wiring.  The Homestead’s WiFi in particular is horrible, often dropping connections outright, but the network via jacks in the kitchen is rock-solid and quite quick.

The Homestead’s pretty quiet, but the walls are wafer thin.  Even in quiet hotels, though, I sleep way better with a white noise generator.  At home, I use a Marpac SleepMate, which uses a spinning plastic tube to generate whooshing air sounds.  It’s very soothing, and it masks background noise extremely well.  Sometimes in hotels, I can get away with just turning on the air conditioning fan to get white noise, but in places like Seattle, that doesn’t work.  Leaving the fan on means you don’t get heat or AC, and Seattle hotel rooms in winter get cold enough to hang meat.

On the road, I use the $1 Ambiance iPhone app, which plays background noise through the phone speaker.  You can choose from hundreds of noises, and my favorites are Brown Noise (no poop jokes), Powerful Waterfall, and Rain on a Tent (not to be confused with Snakes on a Plane.)  Ambiance has two downsides – it runs your phone battery down, so you need to run it on a charger.  It’s not as all-encompassing as the Marpac – recorded noise just doesn’t seem to do as well as whooshing air when it comes to masking noise.  I still recommend it highly though.

Killing Us Softly

Killing Us Softly

If you don’t like studying in the hotel room, you can spend as much time as you want in Building 40.  On the first day, MCM candidates get badges with 24/7 access to the building.  The classroom is stocked with an abundance of the finest snack foods imaginable.  Want something to drink?  The kitchens all have Starbucks coffeemakers and fridges stocked with sodas, fruit juices, and energy drinks.  Carbohydrates will not be an issue – well, at least the lack of ‘em won’t be an issue.  I think I’ve gained five pounds already.

Non-Microsoft staff don’t get WiFi access.  You can bring your laptop, but either bring a data card or be prepared to use the in-desk computers to access the web.  Bring a giant thumb drive (at least 8GB) to copy materials from the lab to your machine.

Some of the labs are delivered in VPC format, so install Microsoft Virtual PC ahead of time on your computer.  If you can’t run VPCs on your laptop, consider upgrading your laptop – it’s cheap relative to the cost of the MCM.  You can skip using the VPCs, but you’ll be missing out.  Apple users – this means you need to install Boot Camp with at least 20GB free space so that you can boot into Windows, then copy the VPC to your local drive and run it from there.

The MCM signup material says that laptops will be provided, and they are, but you don’t want to use them.  They’re garbage.  Same with the computers built into the desks – mine said Optimized for Windows XP, and even that was a stretch.  Mine didn’t have the VT extensions on the processor, so I couldn’t even use it for VPCs.  To add injury to insult, the desk computers have CRTs embedded in the desktop, and you’ll bang your knees against the display every time you use the desk.  By the end of the first week, most of the attendees were sitting sideways at their desk just so they could use their laptop without bruised knees.

If you’ve got friends to visit in Seattle, do it before the MCM begins.  You can’t predict what time you’ll get out of class each afternoon, and when you do, you won’t be fit for human companionship.  Your brain will be battered even more than your knees.  Don’t plan on doing it after the last day, either.  By the end of this, you’ll be dying to get home to your own bed, to eat food out of your own fridge, watch your own television, and hug your loved ones.

Speaking of loved ones, I need to blog about the bonds you build with your fellow MCM candidates.  You really go through hell, and you learn a lot about people by the kinds of questions they ask (and the answers they offer) during three weeks of nonstop in-depth technical training.  More on that later.

First I’ve got a test to take.  (sigh)  Here comes Number Two.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

SQL MCM Day 11: When and How to Get In Free

I’m more than halfway through my big adventure. Candidates are starting to complain about the lack of sleep and the abundance of material.  So far this week, we’ve covered the following material:

  • 537 PowerPoint slides (and these aren’t Brent-style slides, either – one of the slides yesterday scored 15 bullet points)
  • 43 T-SQL scripts
  • 11 Visual Studio apps
  • 164 more slides of “testable material” that weren’t shown

That’s just in the last four days, plus we have another day of material today.  I’m starting to feel like Karl in Lost, strapped to a chair in Room 23, watching the Dharma brainwashing video on an endless loop.  I’ve started dreaming of DMVs – yesterday morning I woke up and said “sys.dm_active_trans” out loud, and that’s not even a real DMV name.  Any of this material can be in our exam on Monday, and then eight days from now, our 6-hour implementation lab will cover material from all 3 weeks.

I would have made a profit attending the MCM training if I had a dollar for every time an instructor said, “I never cover this in my public lectures, and you don’t really need to know this, but this is what the Master level is all about.”  It’s not just about internals – they cover hidden fields that aren’t used yet, techniques that don’t work, and back door ways to double-check that SQL Server is really doing what it’s supposed to be doing.  This week Adam Machanic covered at least a few things that nobody knows outside of Microsoft, Adam, and Adam’s technical reviewers.  It’s mind-boggling.

It’s not always useful – I won’t run out of the building ready to throw a particular feature into production – but I’m much better prepared.  I can make a much, much better decision about whether a feature is right for a given project, or why it’s not.  The endless joke about being a database administrator is that the answer is always, “It depends.”  Being a Microsoft Certified Master means knowing exactly, precisely what it depends on.

Going in, I was pretty sure I knew the answer to most of the “it depends” scenarios.  See, I think the career of a DBA progresses a little something like this:

  • Brand new DBA – “Books Online says I should do it this way.”
  • Junior DBA – “Somebody on a forum somewhere said this trace flag will fix everything, and I think they know what they’re talking about.”
  • Senior DBA – “It depends.  A lot of stuff in those forums is wacko, and I’ve been burned by that trace flag.  Here’s what’s worked for me in the past, here’s a few good alternatives we should talk through, and here’s advice from people that I know and trust.”
  • Expert – “Here’s a list of what it depends on.  Here’s four people who got burned with that feature, here’s four people who’ve implemented that feature successfully, and here’s how to get in touch with the product manager for that feature.  Between me and my peer group, we can find the toughest answers with absolute certainty in a matter of hours – or perhaps minutes.”

Being an expert isn’t just about knowing the answers; it’s about knowing the people who wrote the answers.

Getting to this level, getting to where the MCM training is useful to you, requires a heck of a lot of experience.  The training is most effective for me when I can hear the instructor explaining the tweaks and back doors to a particular feature, and I can respond by thinking, “Ah-HA!  That would be the perfect answer to ___!  I know why that’s helpful, and I know where I’d apply that knowledge.”  Today in particular, Adam Machanic covered three separate features that I’d always wanted to implement at Southern Wine (my last company).  Armed with just this one day of training, I can go back to them, steer them away from two of the features, and steer them toward one.  I bet I’ll save them multiple man-years of labor just with this one day of training alone.

When I was a production DBA at Southern, I never would have thought to attend something like the MCM.  It would have seemed completely out of my reach, way too expensive, and not relevant to my day-to-day work.  Turns out I was wrong, because there’s….

Nearly-Free MCMs for Microsoft Premier Agreement Customers

Large companies get Microsoft Premier Agreements for better support.  Premier contracts include a number of hours for Microsoft consulting services like health checks and continuing education.  Every year, companies let their Premier hours expire without using ‘em up.

You can use your company’s Premier hours to pay for your MCM tuition!

If your company has more than a few hundred employees, ask your manager if you’ve got a Premier agreement.  This is different than an Enterprise Agreement, which covers software licensing, but Premier services are often bundled in with Enterprise Agreements.

If the company has a Premier agreement, find out when the expiration date is, and how many hours are left on the contract.  Tell your manager that you’re calling shotgun – you want those hours if they’re going to go unused.  Then contact Joe Sack to get more information about how to sign up for the MCM program using your Premier hours.

There’s two reasons you should rush:

  1. There’s very few MCMs right now. There are only 3 SQL MCMs in the US outside of Microsoft right now.  Having it before everybody else is worth something.
  2. You want to get in before your coworkers. Put your name in before the word gets out about how the Premier-hours-for-MCM thing works.  Whether you’re a SQL, Exchange, Sharepoint, or Windows person, you should go for this.

Your company probably won’t foot the entire bill for MCM training, but if you can manage to use leftover Premier hours to pay for it, suddenly the bill becomes one heck of a lot cheaper.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

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.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts