Everybody is waiting for the new features coming with Microsoft SQL Server 2008, but there are some deprecated and discontinued features that we should be aware of. Deprecated features are features found in previous versions of SQL Server that are no longer recommended to be used in newer products, and they are going to be removed from future versions of the server. Discontinued features are those features no longer available in SQL Server 2008. It is important to notice what those features are before migrating to SQL Server 2008.
The deprecated and discontinued features are found in a backward compatibility online document on MSDN. There are several major areas with many compatibility issues:
- Database Engine
- Analysis Services
- Integration Services
- Reporting Services
- Replication
- Full-text Search
Beside those deprecated and discontinued features, there are numerous breaking and behavioral changes in the product in the respective areas. A breaking change might break an application or a script built on a previous version of SQL Server. A behavioral change affects the way features work in SQL Server. It is recommended to consult the documentation before upgrading to SQL Server 2008, or using the Upgrade Advisor, an application which analyses the current installation of SQL Server and generates a report with various issues that need to be fixed either before or after the upgrade.
Community comments
More specifics please
by Al Tenhundfeld,
Re: More specifics please
by Simon Bowie-Britton,
More specifics please
by Al Tenhundfeld,
Your message is awaiting moderation. Thank you for participating in the discussion.
It's nice that you provided a link to the site where we can read all of the lists ourselves, but I think all of the readers would appreciate you highlighting some of the big deprecated features. The "major areas" you pointed out are essentially the entire SQL Server platform.
For example, just quickly skimming a few sections I noticed some issues that have the potential to affect a lot of people:
1. Use of *= and =* will no longer be supported in TSQL. ANSI joins will be required. Most people know to use ANSI joins when writing new code, even if they don't understand the subtle differences that can arise, but I've personally seen thousands of legacy reports that use the older syntax.
2. RAISERROR(int,string) is no longer supported. It appears some flavors of RAISERROR are still supported, but the recommendation is to move to the new-in-2005 try-catch paradigm. Again, I've seen some older systems with this code riddled throughout their stored procs.
3. Remote servers have been entirely replaced with linked servers - probably a good thing.
4. SET ROWCOUNT is no longer supported. TSQL will have to be rewritten to use TOP.
5. Notification Services has been removed from SQL Server 2008. This is a big deal for some people, but this deprecation has been pretty widely publicized already.
6. In Reporting Services, HTML with Office Web Components (OWC) rendering extension is discontinued.
Re: More specifics please
by Simon Bowie-Britton,
Your message is awaiting moderation. Thank you for participating in the discussion.
Hmm - More concerning is the deprecation of SQL commands that match Sybase (e.g. sp_lock, sp_depends, temporary table naming conventions, image datatype and a few others...). It will be harder to migrate Sybase based applications to the SQL Server platform in the future.
Considering that X86 Hardware has provided significant performance benefits over the last few years vs historical SUN infrastructure, this added an extra migration option for IT managers to consider when retiring Sybase databases (i.e. vs migrating to DB2 or Oracle).
I know this is a hangup from the origins of SQL Server, but it has been extremely useful for moving between Sybase and SQL Server platforms for development purposes.