Damn it Feels Good to be a Trainer

You’ve seen Office Space, so you know the song. I won’t attempt to reproduce the lyrics here[1] but you know where I’m coming from.

I’ve been a Microsoft Certified Trainer (MCT) since 1996, and “trainer” has been a key part of my identity for longer than that. I love the technology side of my work; building software is a challenging and fulfilling endeavor, and I’ve never found anything quite like the creative outlet that comes from envisioning, designing, and creating something out of nothing but will. But the other side of my job is also compelling: helping people get the most out of the software and systems that they use. Being able to tell a story, to paint a picture[2], to connect the dots to help someone achieve goals that were previously out of reach, to see that “light bulb moment” where a student understands a new or complex concept – this is often what makes the difference between a good day and a great day.

Just as working in technology is a process of continuous learning[3], working as a trainer also requires an ongoing professional investment. Fortunately for MCTs, there is an online worldwide trainer community[4] to provide guidance and support, to share resources and foster growth and improvement.

But sometimes a trainer needs to step up a little more. Sometimes classroom time and online interactions aren’t enough to take your training skills to the next level. Sometimes you need something a little more personal and face-to-face. And in this context, I’d like to mention the North America MCT Summit 2012, coming to Redmond, WA on October 17th. This community-organized event will include a wide range of trainer-focused sessions covering technology[5] and “soft” presentation skills. There are also custom “MOC Cram” sessions designed to help get trainers quickly up to speed on new courseware and for even a Train The Trainer event for IT trainers who are not yet MCTs but would like to earn the MCT credential. 2012summitemailsigSpeak

I’ll be there, both presenting and attending, and if you’re a trainer you should be there too. Over the years I have attended and presented at many technical conferences, but it is the trainer events that I remember most fondly. Not only does an MCT Summit better target the specific needs of IT trainers[6], it also provides an ideal venue for professional and social networking. Trainers I have met at MCT conferences have become clients, employers, contractors, employees and perhaps most importantly, friends. Sometimes being a trainer can be a lonely profession – it’s just you and your students, and no one really understands what you do, except for other trainers. Being surrounded by people who know exactly what you do every day, who understand the unique joys and challenges of being an IT trainer[7] is an experience not to be missed.

So come to Redmond – the MCT community will be waiting.

[1] This isn’t entirely true – I did sit down with the intent of writing alternate trainer-specific lyrics, but I soon realized that my innate gift for lyrical invention doesn’t apply to the world of gangster rap. Perhaps “Kings of Training” or “Touch the Slide” will feature in a future post. Perhaps not…

[2] Figuratively. My art skills are the stuff of legend, and not in a positive way.

[3] What other careers require near-constant skills upgrades, as new versions of software are released and new computing paradigms introduced?

[4] If you’re an MCT and are logged in with your Windows Live ID Microsoft Account, this link will work for you. Otherwise, not so much.

[5] Both technical deep dives and how to best communicate new technologies to your students.

[6] Instead of attending general sessions and hoping to glean a tip or trick or two on a topic you already know, imagine having a session dedicated to moving beyond your existing level of knowledge. Instead of attending general sessions and gritting your teeth while you watch someone whose core competencies don’t involve presentations, imaging having a conference where every session is delivered by someone with deep presentation and classroom experience, where you can pick up tips on what do to, not just what not to do. It sounds pretty nice, doesn’t it?

[7] Yes, I have this song going through my head now too.

Posted in Conference, Training, Work | Leave a comment

Welcome to the new blog – SSIMagine what’s next!

Even though there is five years’ worth of content already, this is the first post for the SSIMagine blog, which will focus on Enterprise Information Management (EIM) and Self-Service Information Management (SSIM) with a spattering of Business Intelligence (BI) thrown in for good measure. All historical posts have been migrated from my old BI Polar blog, which I’m in the process of retiring.

As a quick re-introduction, my name is Matthew Roche, and I am a Senior Program Manager with the SQL Server product group at Microsoft. I work on Master Data Services and Data Quality Services, and have previously worked on SQL Server Integration Services. All three of these products are key players in EIM, SSIM and BI, and they tell a “better together” story as you probably already know.

Although I work for Microsoft and will be posting on technical topics, I want to stress that this is a personal blog, and any opinions posted here are mine and mine alone. I built my career around SQL Server and Microsoft technologies for well over a decade before I joined Microsoft as an employee, and I plan on using this blog to share my personal experience and opinions. They may well be shaped by my experience on the SQL Server team, but they’re still mine, and not that of Microsoft, disclaimer, disclaimer, etc., etc..

Welcome aboard!

Posted in Welcome | Leave a comment

So You Want to Work at Microsoft?

I love SQL Server. [1]

I love working for Microsoft. [2]

For me, these two loves are two things that go well together.

I also love competition.

If you love SQL Server as much as I do (and if you don’t mind competition) you could have the opportunity to see if you love working for Microsoft as well, and have a fun experience while making it happen, by participating in the “Be the Next Microsoft Employee” show. I won’t go into the details – you can click on the link for that – but these are the highlights that leap out at me as being particularly cool:

  • The show is focused on real-world SQL Server professionals
  • Finalists get to attend TechEd North America in Orlando (to get introduced to the public audience as a finalist) and to Microsoft campus in Redmond (for job interviews) with Microsoft picking up the tab
  • The winner has a shot[3] at a Service Engineer position with Microsoft’s internal IT organization, MSIT[4]
  • There are many foodie tie-ins to the show: Not only does the theme remind me of one of my family’s favorite TV shows – The Next Iron Chef[5] – but finalists will get to eat at Elemental while they’re in town for their interviews[6]

Are you interested yet?

If so, follow the instructions to enter, and post a comment to let me know.


[1] This should surprise no one.

[2] Hopefully this won’t surprise too many people either.

[3] Since this is a real job for the real Microsoft, there’s no guarantee that anyone will get a job offer, just like with any interview.

[4] MSIT is one of biggest IT organizations in the world, and they work on some of the coolest projects I’ve seen. They’re often early adopters of Microsoft products and technologies, participating in TAP/”dogfood” programs and regularly deploy pre-release versions of products like SQL Server into production environments. Speaking of a member of the SQL Server team this is super valuable, because it provides us with real-world feedback that makes the RTM versions of the product better. Speaking as an ex-BI consultant this is super exciting, because how many clients or projects let you stay at the cutting edge of technology and make a real difference in the products you use and love.

[5] Not unlike the Iron Architect competition from way back in 2007, for those who remember back that far.

[6] They should feel free to invite me along, especially if the show organizers are paying for dinner 😉

Posted in 2012, Certification, Performance, SQL Server, SSIS, Training, Work | 2 Comments

Bring the Special Ops Tour to YOUR City

Calling all SQL professionals!

Oh yeah, we used that in the last video, didn’t we…

We’re just getting started.

Yes we did, and SQL Server fans from across the country have visited www.specialopstour.com and voted for the cities where they want the tour to visit. As of today the most voted cities are:

  1. San Diego, CA
  2. Boston, MA
  3. Denver, CO
  4. Minneapolis, MN
  5. Chicago, IL
  6. Atlanta, GA
  7. Dallas, TX
  8. Cleveland, OH
  9. New York, NY
  10. Detroit, MI
  11. Phoenix, AZ
  12. Los Angeles, CA

There are only a few more days remaining before the survey closes, so if you want to get your city on the list[1] the time to strike is now. Be sure to cast your vote before the next mission begins…

[1] Or, conversely, to keep your city from being bumped off the list.

Posted in 2012, Special Ops, SQL Server, SSIS | Leave a comment

5 Tips for a Smooth SSIS Upgrade to SQL Server 2012

The SSIS team has just released a white paper on upgrading to SSIS in SQL Server 2012:

Summary: Microsoft SQL Server 2012 Integration Services (SSIS) provides significant improvements in both the developer and administration experience. This article provides tips that can help to make the upgrade to Microsoft SQL Server 2012 Integration Services successful. The tips address editing package configurations and specifically connection strings, converting configurations to parameters, converting packages to the project deployment model, updating Execute Package tasks to use project references and parameterizing the PackageName property.

If you’ve been using SSIS in versions prior to 2012[1] please take a moment to check it out. The evenings you save may be your own…

Direct link: http://msdn.microsoft.com/en-us/library/hh667275(d=lightweight).aspx

[1] And if you read this blog, odds are this is a safe bet.

Posted in 2012, BI, SQL Server, SSIS, Upgrade | Leave a comment

Setting up a SQL Server 2012 RC0 VM

I ran across this excellent article last week, but forgot to share it before I went offline for the Thanksgiving holiday. Fortunately it was waiting for me in a browser tab this morning to remind me.

How to Build a SQL Server 2012 RC0 Hyper-V Virtual Machine

Setting up a new development[1] environment for a new product is often complex. When the new product is something as diverse as SQL Server 2012, and when you want to explore integration with other products like Visual Studio, SharePoint and Exchange, the setup process can be positively daunting.

In this wiki page, Richard Davis presents a step-by-step approach for building a SQL Server 2012 RC0 VM. I haven’t gone through the whole thing myself, but when I need to build out a comprehensive demo machine, this is where I’ll start.


[1] Or demo, or play, or whatever.

Posted in 2012, Denali, SQL Server | 2 Comments


If you’ve been following the pre-release versions SQL Server 2012 (previously code-named “Denali”) you’ve probably been using the Community Technology Preview (CTP3) that Microsoft released back in July. You probably have already seen the Release Candidate (RC0) that was made available last week.

But what you may not know is how SSIS is changed between CTP3 and RC0. RC0 is a big leap forward for SSIS, and includes some significant new functionality, such as:

  • Script Component debugging
  • Attunity Change Data Capture components
  • Change Data Capture for Oracle
  • ODBC Source and Destination components
  • Externalize parameter values in Visual Studio configurations
  • New REPLACENULL expression function
  • UI for Pivot and Row Count transforms
  • Tons of minor fixes and improvements based on CTP feedback

SSIS developer Matt Masson has a more in-depth look at these changes on the SSIS team blog[1], but I wanted to call them out here as well.

The final bullet[2] is also worth stressing. You may not notice these improvements directly, but the SSIS team have made a significant “fit and polish” for RC0, improving functionality that was delivered in (and before) CTP3. If you’ve been using SSIS in CTP3, be sure to download RC0 today and give it a try.


[1] And to give credit where credit is due, the “what’s new” list in this post was blatantly copied from an email from Matt as well.

[2] Which I added to Matt’s list.

Posted in 2012, Denali, SQL Server, SSIS | Leave a comment

SQL Server Special Ops Tour

If you’ve been following recent SQL Server news, you know that the next version of SQL Server has lost its “Denali” code name[1] and has been officially named SQL Server 2012.[0] This is actually sort of old news, but I’m mentioning it here because it segues so nicely into the main topic of this post: the upcoming Special Ops tour.

The SQL Server Special Ops tour is a 12-city[2] tour being organized by the SQL Server team. You’ve probably seen tours like this before, with technical experts providing deep insight into the features and capabilities of a new software release. But this is a tour with a twist, and the difference is you.[3] To be more specific, it’s members of the SQL Server community who will select the cities for the tour, and who will help select the topics. You can go to www.specialopstour.com today to cast your votes. There will be even more ways to participate, so check out the site today and watch for more news.

And while you’re there, you may also want to check out just what it is that members of the SQL Server team get up to when they’re not at the office…

Do you see any familiar faces?

[0] You also know that SQL Server 2012 Release Candidate 0 is now available for download, as of this morning.

[1] Although I expect most people on the SQL Server team will be calling it “Denali” for many years to come. After joining the SSIS team this summer I had to dredge through my long-term memory to recall what “Yukon” and “Katmai” and “Kilimanjaro” were.

[2] See the clever tie-in there? SQL Server 2012. 12 cities? Ahhh…

[3] Yes, I’m playing this up a little bit. I’m home sick today (which is probably the only reason why I have time to blog during business hours) and am feeling a bit punchy…

Posted in 2012, Special Ops, SQL Server, SSIS | 1 Comment

SQL Server 2012 RC 0 Available for Download

If you’re working with the pre-release versions of SQL Server 2012, or if you’re thinking about preparing for its release, today is a big day. The first release candidate has been published on the Microsoft Download Center:


RC0 is a major release for SQL Server Integration Services, with lots of improvements since the CTP3 release in July. If you’ve been waiting to kick the tires, you may not want to wait too much longer…

Posted in 2012, Denali, SQL Server, SSIS | Leave a comment

Your Window Improvements May Vary

I love my new job. This morning I’m sitting in a training session organized by the SQL Server team to bring Microsoft team members up to speed on new Business Intelligence capabilities in SQL Server “Denali”. The session is about to begin, and I’m reviewing the SSIS slides so I can be prepared for questions as they arise. (Did I mention I love my new job?)

I also love ambiguity.[1]

One of the features listed in the presentation is “Variable Window Improvements”. Reading this, all I could think is “we’ve really improved the windows, but they’re different all the time, so we can’t tell you what they are.”[2]

Of course, that’s not what the slide was about. The topic was the specific improvements made to the Variables Window for the SSIS package designer in SQL Server “Denali” Business Intelligence Development Studio. This may sound less than exciting[3] and even in the context of a two-day training event it only rates one slide bullet. But despite this, these tool improvements address a significant real-world need, and are certainly worthy of a blog post or two.

Before we look at the new “Denali” goodness, let’s look at a scenario in pre-“Denali” SSIS today[4]:

  1. You’re editing an Execute SQL task in your package, and realize that you need a variable in which to store the results of the query you’re running.
  2. You exit the task editor, and in the Variables window you create a new variable.
  3. Later on, you’re looking for the variable, and you can’t find it. You frown, scratch your head, and re-create the variable.
  4. When you run your package, you find that although the package (and the Execute SQL task) runs successfully, the variable is never populated with the value from the query.
  5. You get yourself another coffee and settle down for a long troubleshooting session…

Experienced SSIS developers will probably be saying something along the lines of “well, of course, you needed to click on the package Control Flow design surface between steps 1 and 2. Duh!”

Those who are newer to SSIS may be missing the key point in this scenario: When you create a new variable in SSIS, the variable is created at the scope of whatever container or task was selected in the designer. Although this behavior is consistent and documented, it often comes as a surprise, because nobody actually reads the documentation.[5] It also often comes as a frustration, because most of the time variables should be created at the package level in order to be useful.[6]

In SQL Server “Denali” SSIS, all new variables are created at the package scope. This change ensures that the “what the heck” moments we experienced in previous versions of SSIS will no longer occur, and that all new variables will be defined at the most frequently used scope.

What about those situations when you actually do want a variable at a different scope? In previous versions of SSIS, variable scope could not be changed – you needed to delete the old variable and create a new one at the new scope.[7]

In SQL Server “Denali” SSIS, you can move or copy variables between scopes. Odds are you will need this functionality less than you needed it in earlier versions of SSIS (you know, when it wasn’t there) but when you need it, you’ll love it.

And that’s that. As per usual, I wrote two pages when I could have written two sentences (the ones I highlighted in red) but there you have it. The facts are always more meaningful when presented in the context of a story, and hopefully the story helped turn these two bullets into something more than a”yawn” moment. I’m sure you’ll let me know…

[1] In case you’re interested: http://en.wikipedia.org/wiki/Syntactic_ambiguity.

[2] Yes, I crack myself up.

[3] And less funny that my ambiguity joke, at least a little.

[4] This is true with SSIS in SQL Server 2005, 2008 and 2008 R2.

[5] Except you. I know you do, I meant everybody else. You know those guys…

[6] One of the “lightweight best practices” I have included in my SSIS presentations over the years is “always right-click on the package design surface and choose Variables from the context menu” because it ensures that the new variable is at the package scope regardless of what task you were working on beforehand.

[7] This functionality does exist in the amazing BIDS Helper add-in, but it was not included in SSIS.

Posted in BI, Denali, SSIS, Training | Leave a comment