We’ve been hard at work on the next version of SQL Server, and it’s (almost) time to start sharing some of exciting new functionality we’ve introduced to SSIS. Over the new few months (starting about the time the first public CTP drops), I expect you’ll see a lot new content appearing here, technet, and other MVP blogs out there (some of which are linked off this site). Some readers have even noticed that my recent postings have had screenshots that were obviously not made with the 2008 R2 version of the product. (Rounded corners?!? What the ….)
First, a bit about timelines – the Connect items I’m posting about today will be appearing in the first CTP, but the vast majority of the recently closed issues will appear later in the release. It’s unfortunate that it sometimes takes so long for fixes to roll out into the CTP process, but I think it highlights how important it is to get your CTP feedback in as early as possible.
Disclaimer: The features described below relate to an unreleased version of SQL Server. The functionality in the final released version of the product may be different, or removed entirely.
Yes, the SSIS designer will now have full Undo/Redo support. This encompasses pretty much every change that can be made in the BIDS designer – properties, add/remove tasks/components, copy & paste, layout, etc. To get this feature in, we also improved the Copy & Paste mechanism. The behavior is now more consistent, performs better, and covers more objects than it did before.
The feature that went in isn’t quite a full scale Sequence Container for the data flow – it’s actually the same as the (little used) “Group” functionality in the Control Flow. Grouping a set of objects gives you the same layout behavior you get with a sequence container, without the execution semantics. So for example, you can expand/collapse the group, and move the components around together, but it is purely a layout feature. It does not affect the execution of your package.
This “Improved Backpressure” functionality allows data flow transforms with multiple inputs to signal when they are getting too much data coming in on one input, and need more on another. The classic example here is for Merge Join – imagine the Left input is receiving a lot of buffers (due to a fast source component), but the Right input hasn’t received any yet (due to a slow source, or lack of available engine threads). Prior to this change, the source of the Right input would continue to produce new buffers of data until the backpressure mechanism detects there are too many active buffers. Now, the component itself can tell the data flow that it needs more data on its Left input, so the pipeline can put the source to sleep sooner.
Our implementation is maybe not quite what the original Connect issue had in mind – we’ve actually added a brand new custom toolbox window. It loads faster than the previous (built-in) toolbox, and will automatically locate new tasks and components after they have been installed. There are built-in groups which allow you to organize your favorite, common, and lesser used components, as well as a handy panel at the bottom which displays information about the selected item with a link to a help topic.
If there are any other connect items you’d like details about, please let me know!