Tuesday, December 6, 2011

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.

Wednesday, November 30, 2011

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.

Tuesday, November 29, 2011

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.

Tuesday, November 22, 2011


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.

Thursday, November 17, 2011

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…

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…

Thursday, July 21, 2011

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.

Wednesday, July 20, 2011

Back in the SSISaddle



Is this thing on?

Although I still get the occasional comment on older blog posts, I assume that pretty much nobody subscribes to my blog anymore for SSIS information. When I joined Microsoft Learning in October 2008, the SQL/BI/SSIS side of my life got pushed to the side. I kept working with the tools, but it was no longer a core part of my job, and one of the things I largely gave up on blogging and related technical community efforts. It wasn’t a change I wanted to make, but I needed to ensure that I rocked my new job as much as possible. The end result was that over the last 30 months I’ve posted fewer than ten SSIS-related posts.[1]

This will now change.

This week I joined the SQL Server Integration Services team as a Senior Program Manager.[2]

In the months leading up to the SQL Server “Denali” release, I hope to blog regularly on “Denali”-related features, enhancements and techniques. The “Denali” release is a major release for SSIS, with a ton of exciting new capabilities for new users and seasoned SSIS professionals alike.[3] If you are using SSIS already, SSIS in “Denali” is going to make your life easier in many ways. If you’re just starting off with SSIS, the “Denali” release will ease your learning curve, and help you swear less. In short, I’ll have a lot to blog about.

With this said, it may still be a few weeks before I post again. Not only will I be getting up to speed on my new team and my new role, I will also be relocating my family from New York to Redmond.[4] The relocation will be consuming most or all of my free time for the next few weeks, but once I’m settled in you should expect to hear from me more often.

It’s good to be back.

Back in the SSISaddle indeed.

[1] And that I rocked the new job pretty darned hard, but that’s a longer story. Ask your friendly neighborhood Microsoft Certified Trainer.

[2] I wish you could see the smile on my face as I typed that sentence.

[3] If you want an overview of these new things, please be sure to download and view Matt Masson’s presentation from TechEd North America. We’ll have more announcements coming closer to release, but this session is more than enough to whet your appetite.

[4] I have two children, two cats and one wife, and the effort and stress of moving the whole family is staggering. I thought I knew what I was getting into, but boy was I wrong.