.. from a relational developers perspective!!
Well, the title may be a bit harsh, but at least it grabbed your attention – did it not?!
A week ago, or so, I wrote a wish list to Santa for Denali from a relational developers perspective. In that wish list I wrote that there has been fairly little love for relational SQL developers in the recent versions of SQL Server, and that I hoped in this version (i.e Denali) Microsoft would “go back to the roots” and give us developers some new stuff.
So I downloaded the CTP when it became available, and have been playing around with it for a bit, in order to see what new “stuff” I could find and how it stacked up against my wish list:
- Autonomous transactions – not a whiff of it
- Enhancements to SQLCLR – Denali is still loading version 2.0.50727 of the runtime (i.e. the original – SQL 2005 – version). So nothing here either, and they have not even added Microsoft.SqlServer.Types (for the geo and hierarchy types) to the blessed list. This (lack of SQLCLR enhancements) is probably the one thing that saddens me the most – it seems that after all the initial hoopla and fanfare about SQLCLR when it was introduced in SQL Server 2005, Microsoft has decided to not fullfil its potentials.
- Finally blocks – well, we do not have finally blocks but we now have a proper way of throwing and re-throwing exceptions; the
THROWkeyword. I wrote about it here and here. So at least this is something. - Other T-SQL enhancements – this is an area where there are at least a couple of new things:
SEQUENCEandOFFSET. Those are cool and useful and Aaron B wrote about them here and here. But this is still not very much, and no evidence of that Microsoft want to continue to enhance T-SQL as a first class development language (as they have stated in the past).
So, the report card does not look that good and that’s the reason for the title of this post. Granted, there are things that are in the cards but not included in this CTP; things like:
- Column storage – however, that is more a BI feature, but it will be usable in the OLTP world as well.
- FileTable – a way of storing files in SQL Server. It looks like FileStream v.NEXT or (do I dare say it) WinFS (now I have most certainly condemned this to death). It looks interesting, but – as I said – not in this CTP.
As you can gather from the above, I am not that stoked about Denali. I hope later CTP’s will bring more things, but somehow I doubt it.
What are your take on this, are you happy with what Denali gives you (from a relational developers perspective), and if not – what would you like to see included. Answers in the comments please.

Twitter
Google+
RSS
Contained databases and DB Mirroring v.2 are both pretty big advances that I know I will be able to take advantage of. Mirroring is more HA / DBA realm, but contained databases will certainly ease some of the issues we have when migrating databases from dev/test/QA->production, and also when we need to move dbs between servers.
Hi Aaron!
Yes – there are some new features, but compared to the other areas of SQL Server; us relational developers have not seen much love from the latest versions of SQL Server. Wouldn’t you agree?
Niels
[...] from the viewpoint of a relational developer wanting new features. You can read all about it here. Subscribe to my RSS feed: http://feeds.feedburner.com/manageddata.Follow me on twitter as: [...]
No lag or lead analytic functions still? When will Microsoft implement the full set?
It’s true, the focus is almost all BI and Enterprise. SEQUENCE and OFFSET are mostly just syntactic sugar; while SEQUENCE performs better than an IDENTITY column, if that’s where anyone’s performance problems lie, there are bigger issues.
The reason, sadly: they don’t sell licenses to developers.
Yes, SEQUENCE and OFFSET are nice, but as you say syntactic sugar. THROW is nice, if used correctly as per your post. I’m just disappointed as “once upon a time” it was stated that MS would continue evolving T-SQL (I even think I have some old doc’s saying that). Anyway… as you say – BI and Enterprise sell, “lowly” T-SQL dev’s do not sell!!
I’ve heard that there are supposed to be more optimisations for CLR Aggregates.
Hi Dave and welcome to the blog!
>I’ve heard that there are supposed to be more optimisations for CLR Aggregates.
Yes, there are supposed to be, but how many are using CLR aggregates in the first place? I love the SQLCLR, so I guess any improvements are welcome – but; I’d much rather see perf optimisations for SQLCLR as whole, see support for TVP’s in SQLCLR etc., etc. I bet that the optimisations UDA’s are due to requirements for – for example – spatial data.
Keep your chin up this is just CTP1 as far as I know they can still introduce new features before the final release. Also, since this version is supposed to be BI-centered, perhaps they will go back to a non-BI enhancement focus on R2
I do think it’s a huge mistake from a sales perspective to focus so strongly on BI without more core enhancements, but the clustering and high availability features they are adding are also nice for those users who have the need/infrastructure to need them.