What the Heck is a SQL Server Technical Evangelist?

Welcome to Roger Doherty's SQL Server Evangelism blog.  If you are a developer who builds commercial software applications which utilize SQL Server as a database engine, you may be interested in following my blog.

What is SQL Server Evangelism you ask?  I'll give you the same spiel I give my family and friends when they ask me about my title, which is "SQL Server Technical Evangelist".  The first thing I usually say is that my title is either the coolest title you have ever heard of, or the dumbest title you have ever heard of, depending of course on your perspective.  As a SQL Server Technical Evangelist, it's my job to convince software developers worldwide that SQL Server is the platform of choice for building enterprise database applications. 

Currently I work on an extended team at Microsoft that is responsible for a global developer evangelism initiative for SQL Server 2005 known as "Yukon Ascend".  My colleagues and I are busy conducting training events and labs all over the world designed get developers ready for SQL Server 2005 (SQL2K5).  Before I get 1000 replies asking for details on how to participate in Yukon Ascend, let me say in advance that the program is full.  We'll be doing more in 2005 to reach out to developers broadly, so stay tuned.

Over the next few months, I'll be blogging about what's new and exciting in SQL2K5, with a special emphasis on building and deploying packaged software applications.  When I talk to developers about SQL2K5 I typically break things down into three separate areas: database server programmability, reporting and analytics, and scalability.  I'll examine the first of these three areas in today's post.

SQL Server 2005 is the most programmable database server ever 

For years SQL Server developers have been pushing the limits of what they can do with Transact-SQL.  Now don't get me wrong, TSQL is a perfectly good language for programming the database server, and as a matter of fact it remains the preferred mechanism for programming the database server.  But like anything TSQL has its limits.  As an interpreted language, it suffers from performance limitations when doing floating point and integer calculations.  From an extensibility perspective, the TSQL language just can't keep up with more modern programming languages such as those that support the .NET Common Language Runtime. 

Starting with SQL Server 2005, these old limitations will be gone forever.  TSQL developers will have the full power of the .NET framework at their disposal for programming tasks that aren't easily accomplished in TSQL.  They can extend the database server with managed code assemblies that execute in a Common Language Runtime environment hosted in-process with SQL Server known as the SQLCLR.  The underling functionality in these managed code assemblies can be exposed using stored procedures, user defined functions, and even user defined types.  The end result will be an extremely powerful and flexible programming environment where developers can leverage the best of TSQL, and complement it with the best of the .NET Framework in a seamless, secure and performant way.

As if that wasn't enough, there are many other key developer enhancements in the product that will have a huge impact on productivity.  Some of the most popular features include:

  • Native XML Datatype and XQuery Support: SQL Server 2005 has married the core functionality of a best-of-breed RDBMS with the semi-structured world of XML Data.  The result is a very interesting hybrid environment where structured data gets represented in traditional ways using relational tables, and semi-structured and unstructured data gets represented using the new XML Data Type.  TSQL has been expanded to support XQuery, allowing a single query language syntax to span both your structured (relational) data, and your unstructured (XML) data in a single query.  The benefits to developers will be too numerous to detail here, but suffice to say that the ability to co-mingle structured data with unstructured data will open up powerful possibilities that were difficult or impossible to achieve in previous releases.
  • Native SOAP Access: Web Services are proliferating rapidly and have become a standard architecture for building enterprise systems.  SQL Server 2005 will keep up with these advancements by supporting Native SOAP Access to data and procedures hosted in SQL Server in a highly secure and performant way.
  • SQL Service Broker:  SQL Server 2005 will introduce a new facility known as the SQL Server Service Broker.  Service Broker will make it possible for database developers to segment the business processes in an enterprise application into separate store-and-forward queues.  While asynchronous store-and-forward queue technology is nothing new, the seamless integration of Service Broker into the SQL Server environment is very new, and offers developers a very productive environment to build queue based functionality into any enterprise database application.

It's hard to do justice to the database server programmability features in SQL Server 2005 in a single post, so I won't even try.  There are many many other areas where new functionality or improvements to existing functionality are going to have a huge impact on developers.  The best way to stay up to speed with all of these new developments is to follow Bob Beachemin's Database Development Blog.  Bob is the development lead and one of the principal trainers for the database development curriculum we are using in Yukon Ascend, and he succeeds in making me feel like a blithering idiot on a daily basis. 

Stay tuned for my next post on reporting and analytics.  Now its time for me to go over to my brother-in-law's place in South Jersey and do some demolition.  There's something satisfying about swinging that sledge hammer that nothing else can quite compare to.