Although Microsoft is right on the brink of releasing SQL Server 2008, the company is already well into planning the next SQL Server release. So now seems like a good time to start thinking about the direction SQL Server should go in the future. Here are some features I’d like Microsoft to include in the next release of SQL Server.
Server Core Compatibility
As a result of the release of Windows Server 2008, future SQL Server versions will need to be able to run on Server Core. Serving as a new installation option for Windows Server 2008, Server Core is a bare-metal OS that runs without GUI. In other words, all of the extraneous features, such as Microsoft Internet Explorer (IE), Microsoft Office Outlook Express, and the .NET CLR have been stripped out, reducing the system footprint and making the system both more efficient and secure. Sounds like the perfect platform for SQL Server, right? Wrong. Unfortunately, Server Core doesn’t support .NET CLR, and therefore isn’t a candidate platform for SQL Server. Microsoft could solve this problem by either adding more .NET functionality to Server Core (something that will have to happen so that future SQL Server versions can support Windows PowerShell) or by removing the .NET components from SQL Server. Regardless of how the problem is solved, SQL Server will eventually have to be able to run on Server Core.
Support for LINQ in SQLCLR
Language-Integrated Query (LINQ) is an important development capability that Microsoft added to Visual Studio 2008. LINQ enables you to write queries in native .NET languages without requiring the developer to drop down into another language (i.e., TSQL), whereas traditional .NET database programming includes an ADO.NET object-oriented database access layer, but the raw T-SQL code does the real database access work. LINQ also enables the development environment to provide help and immediate feedback about database object and syntax problems to developers. However, LINQ still can’t be used for SQLCLR development. Including support for LINQ in SQLCLR is a natural evolution and could help jump-start SQLCLR usage.
A Front End for SQL Server Service Broker
SQL Server Service Broker provides a great framework for highly scalable asynchronous messaging applications. But in the real world, many developers don’t use this framework because developing Service Broker applications is too difficult. Currently, there’s no development front end for creating these applications, and the service broker application development process requires developers to use a mixture of manual XML, T-SQL, and .NET code—making the adoption hurdle too high for most developers. Adding a graphical development tool to Service Broker could simplify the application-creation process.
These are just a few of the capabilities and functionalities on my SQL Server wish list. Are there things that you’re looking for in future releases of SQL Server or from Microsoft in general? Drop me a line at firstname.lastname@example.org, and I’ll share your comments in a future column.