Summary of Useful Features in SQL Server 2008
March 4, 2008
SQL Server 2008 will be coming out sometime this summer (in theory). At last week's TechFuse event in Minneapolis, and in blogs I sometimes read, I've started to pick up on a number of useful features and improvements that should make one strongly consider upgrading when the Release to Market (RTM) is ready (certainly this is not all-inclusive):
Encryption at rest
Whole databases can be encrypted with a master key (which can be stored in an HSM), rather than encrypting by each column. No code changes are required, hence this feature is called Transparent Data Encryption. It gives true encryption of data at rest, included backup files.
- Blog: SQL Server 2008 Transparent Data Encryption
- Books Online: Understanding Transparent Data Encryption (TDE)
An index can be created with a filter (i.e. index all rows where MyDateField is not null), thus making much more meaningful indexes &rarrow; improved performance.
Sparse columns support
There are times when you want to create say 20 columns, only a portion of which will be used at any given time (perhaps there are multiple applications using the table, and they each have a few unique needs). If you create all these columns, your table becomes a little unwieldy in many ways. You can use an XML column to store just the subset required, or in 2008 you can use the new sparse columns feature. This will improve indexing and manageability.
Performance Data Collector
The new Performance Data Collector stores query information in a data warehouse, making it easy to answer questions like "whose query was hogging the resources this morning, causing my job to get a timeout?"
- Blog: Creating a custom data collection in SQL Server 2008
- Books Online: Introducing the Data Collector
Allows the administrator to allocate resource slices to different users or classes of users; thus for instance you could specify that the core processing user would always get (if needed) a minimum of 40% of the CPU & RAM, and you could specify that the marketing users (once they have beefy report models to work with) never get more than 10% of the resources. For example.
The Reporting Services Report Builder has been entirely redesigned — now looks like an Office 2007 application. The table and matrix controls have been replaced with a far more flexible tablix control that allows you to do all kinds of cool things. There is still a Visual Studio-integrated Report Designer, though the things I've heard had left me confused on that point (BOL may be out of date, or the presentation at TechFuse was wrong?). The blog link below clears up the confusion.
- Blog: Transmissions from the Satellite Heart (What's up with Report Builder?)
- Books Online: Designing and Implementing Reports Using Report Builder
These upgrades are basically in the area of performance improvements, particularly with regard to the Lookup data flow task. Other improvements / new functionality: ADO.Net as default data source (rather than OLEDB); data profiling task; C# as new / default language for scripting tasks.
- Blog: SSIS: Big improvements to Lookup in SQL Server 2008
- Blog: C# comes to the script task/component
- Blog: What's new in SQL Server 2008 for SSIS - Part one
- Blog: What's new in SQL Server 2008 for SSIS - Part two
Transact SQL / Database Engine
Finally, we get to the heart of SQL Server: the structured query language. Supposedly this thing is much faster. There is some new syntax available:
GROUPING SETS for enhanced BI-type queries;
MERGE to perform inserts, updates, and deletes in one statement; the
+= operator, and more. There's also the new Change Data Capture for enhanced auditability and better incremental bulk loads.
- Blog: GROUPING SETS in SQL Server 2008
- Blog: SQL Server 2008 'Katmai' Change Data Capture (CDC) in SSIS
- Books Online: How Change Data Capture Works
- Books Online: Using GROUP BY with ROLLUP, CUBE, and GROUPING SETS
- Books Online: MERGE