SQL Server 2008.

July 20, 2008

Like many of Microsoft’s recent software products (Visual Studio .Net, .Net Framework or C# 3.0) SQL Server 2008 has been enhanced based previous versions by fixing bugs and adding new functionality built based on existing features. This is a welcome strategy that helps ease the transition for developers and database administrators.

In this blog post I will briefly touch on some of the database administrator functions and focus on the developer functionality, additions and upgrades.

Administrators

Management
SQL Server 2008 policy management has been updated and is now called the ‘Declarative Management Framework’. It is now possible to configure multiple database servers so that a standard configuration can be applied and maintained on multiple servers and databases.

Multiple Server Integration makes it possible to execute queries against multiple servers by placing them within special groups. Result can be categorised into one result per server or merged together as one set of results.

Security (Transparent Data Encryption)
A cool new feature of SQL Server 2008 is the improved flexibility of data encryption. Data encryption is now a property of the database instead of application code. This makes the database administrator and developer’s life’s easier as now they don’t have to make changes to the database every time encryption functionality changes at the application level.

Resource Governor
Database administrators can now specify how much CPU/RAM each user is allowed to use. This will help to eliminate situations where a user’s mistake could potentially bring down a whole server. By imposing these limitations users are restricted to a predefined amount of CPU/RAM usage.

Developers
Developers have also been treated to some appealing updates in the latest version SQL Server. There are a number of new features that have been added to make a developer’s life easier and increase their productivity.

LINQ Vs SQL
Most developers are pretty familiar with writing T-SQL queries to retrieve data for application objects. Most are also aware of the distinct syntactical differences between VB/C# and T-SQL. SQL Server 2008 provides something called the LINQ to SQL provider, which makes it possible to write LINQ commands directly within SQL Server. This lets develops use one common object centric language in the application domain and the database domain. Developers will be able to use the LINQ programming syntax on database table and application collection, XML and datasets.

DATETIME Data Type
Datetime has now been separated into two separate data types so that each one can be defined independently. These new data types will help increase performance by eliminating the need to perform certain operations to extract the date or time portion of the Datetime data type.

GEOGRAPHY and GEOMETRY
These two additions have been added to better represent location specific data. This eliminates the need to break geography and geometry data down into formats that fit other standard data types.

Syntactic Sugar
The SQL language has had some small additions in the shape of Inline Variable Declarations:

Old
DECLARE @myVar int
SET @myVar = 5

New
DECLARE @myVar int = 5

C like math syntax
SET @i += 5

Icing on the cake
SQL Server 2008 had been blessed with Intellisense. All I can say is “about time too”. Gone are the days where you would have to do a Google search to remind yourself of certain T-SQL keywords, statements or syntax. Now SQL Server will give you’re a full list of statements and keywords available for a particular variable’s data type as well as column names for a particular table.

Conclusion
SQL Server offers some interesting new features that will keep developers and administrators happy. These new features integrate well with Visual Studio and the .Net framework 3.5 making SQL Server a nice finishing touch to a well rounded application development environment.