SQL Clone
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

Deprecation, Trace and Execution Plans

chopping_blockAs I’m sure you know, Microsoft occasionally changes it’s mind. Or, it makes bad decisions and then rectifies them. Or, it even reinforces bad decisions. Regardless of the purpose, the means by which these changes are implemented when they involve taking things away is deprecation. Usually in SQL Server the deprecation process is supposed to be over three releases. So while seeing something on the deprecation list can be cause for concern if it’s something you like, you certainly don’t need to panic.

I’ve finally had a chance to start working with Denali and the place that concerned me most was in the areas of deprecation. I want to make sure that when I suggest a particular approach, that the approach isn’t going to disappear in a version or two.Which brings us to my personal little point of interest, execution plans.

When I originally wrote my book on execution plans (free download by the way in case you don’t have a copy), I talked about text execution plans as being on the chopping block. They still are.

I was reading through the online Denali documentation when I ran across this list of deprecated Trace Events (I was trying to see if Trace/Profiler was on the deprecation list, more on that in later posts). You’ll note that the deprecated events are the text plan events. Now, deprecation takes place over three versions, right? Clicking back through the different versions I see that these events made the list originally in SQL Server 2005. The documentation for Denali is clearly marked as “Preview Only” and subject to change. But, based on their own approach, in theory, these events are slated for removal in this version. Microsoft can change their minds and extend it a version (does R2 really count as a version?) or update the docs to show this as removed functionality, either way, if you’re dependent on the events listed, I’d start getting more comfortable with using XML plans.

DeprecationTo attempt to discern Microsoft’s plans for the trace events, I tried something.. a little weird. There are trace events that will tell you the status of things on the deprecation list, Deprecation: Deprecation Announcement, Deprecation: Final Support. The Final Support event is supposed to show those things that are currently on the chopping block, not just at some future point. What I did was set up a trace to capture showplan_all and then set up a trace to capture both Deprecation events. I didn’t get anything. Sorry. That just means we’ll have to work from the documentation, which tells us to prepare for those events to be removed from future versions.

I also tried out the showplan_all itself to see if that would pop up in the Deprecation trace. It didn’t. I don’t know if I should trust the Deprecation trace or the documentation on these things. If I find out one way or the other, I’ll put it up in a blog post.

The Scary DBA

I have twenty+ years experience in IT. That time was spent in technical support, development and database administration. I work forRed Gate Software as a Product Evangelist. I write articles for publication at SQL Server Central, Simple-Talk, PASS Book Reviews and SQL Server Standard. I have published two books, ”Understanding SQL Server Execution Plans” and “SQL Server 2008 Query Performance Tuning Distilled.” I’m one of the founding officers of the Southern New England SQL Server Users Group and its current president. I also work on part-time, short-term, off-site consulting contracts. In 2009 and 2010 I was awarded as a Microsoft SQL Server MVP. In the past I’ve been called rough, intimidating and scary. To which I usually reply, “Good.” You can contact me through grant -at- scarydba dot kom (unobfuscate as necessary).


Posted by Jason Brimhall on 21 January 2011

With both the documentation being early on, and the product being in Candidate stages - anything can change from this point.

Leave a Comment

Please register or log in to leave a comment.