Ever since SQL Server 2005 announced support for CLR stored procedures and other code written in C# and other .NET languages, many DBAs have been concerned and worried about the possible effects of non-relational developers writing code that runs inside the platform. Those fears are not necessarily baseless, but it seems for the most part that they've been unnecessary.
In a room with many SQL Server consultants, trainers, and other professionals, the question was asked about how many of them were using CLR objects in their databases and almost no one was. In the nearly 3 years since SQL Server 2005 has been available, I have seen very, very few instances where someone is actually using the CLR very much. It seems that the vast majority of people stick with T-SQL to solve their problems.
There are some groups that are taking advantage of the new features and allowing their developers to code in languages other than T-SQL. At the NASDAQ, one of the larger stock exchanges in the US, only 3 of 20 developers have expertise in T-SQL. As they are building a new application, they hope to write allt of the stored procedures using C# or C++, which is a decision unlike any I've heard in years.
I'm not sure if this is a great decision or an incredibly stupid one. My first thought is that there are so many ways that T-SQL just works better for things, but knowing all the heavy math that NASDAQ much employ in their applications, perhaps this isn't a bad choice. I guess like so many things in the database world, the best choice depends on the situation.
So many people in and around Microsoft have mentioned that there are no plans to remove T-SQL from the toolbox of SQL Server. That's good since many of us have a huge investment in SQL Server, both in code and in employees' skills. We wouldn't want to throw that away because Microsoft wants to ensure more and more developers can work with SQL Server. However I would not be surprised to see more and more types of other languages integrated into the SQL Server platform to enable a large variety of developers to easily migrate to SQL Server.
Other platforms have found that their inclusion of support for traditional languages like C++ or Java hasn't really changed the way more people develop with their database platform. They tend to stick with SQL and SQL-base objects for most of their logical code. That makes some sense as people use the tools they are comfortable with, and most people are already comfortable using some type of SQL in database applications.
I think that the SQL CLR was really a feature match with other platforms and not necessarily the sign of how future development should be done. There will always be some people that find it useful and integrate it, but I think the majority will never suffer a lack of SQL code in our systems.
Steve Jones
The Voice of the DBA Podcasts
The podcast feeds are now available at sqlservercentral.mevio.com to get better bandwidth and maybe a little more exposure :). Comments are definitely appreciated and wanted, and you can get feeds from there.
or now on iTunes!
- Windows Media Podcast - 37.4MB WMV
- iPod Video Podcast - 29.9MB MP4
- MP3 Audio Podcast - 4.9MB
Today's podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.
I really appreciate and value feedback on the podcasts. Let us know what you like, don't like, or even send in ideas for the show. If you'd like to comment, post something here. The boss will be sure to read it.