Has Microsoft Deprecated your SQL code in 2008?”

When it comes to Microsoft SQL Server 2008, what can you expect? SQL Server, code named Katmai, is - as its name suggests -- due out later this year. Question is why should you care? Now I could talk about the new features like the Declarative Management Framework (DMF) or Spatial Datatypes or Transparent Data Encryption, and I will -- in future posts to this blog. (If you just can't wait, you can see this stuff for yourself in my recent Web seminar). But one critical thing everyone should want to know is which features were put onto the dreaded "Deprecated Features" list. "Deprecated" sounds like an awful word but it merely refers to features that are "going away". This list, issued by Microsoft, has two categories: 1) "Features Not Supported in the Next Version of SQL Server"; and 2) "Features Not Supported in a Future Version of SQL Server".

For instance, two of the most important features gone from 2008 are:

BACKUP LOG WITH NO_LOG

and

BACKUP LOG WITH TRUNCATE_ONLY

These two statements, which are functionally equivalent, have been around since the early days of SQL Server and were typically used to truncate the transaction log when it became full (the infamous error code 9002). The beauty of these statements was that they would not actually backup the transaction log at all, they would just truncate the log and free up space. The downside of the statements was that they would break the "chain" of log backups exposing the database to potential data loss until a full database backup could be made. Now Microsoft is trying to protect us from ourselves and have outlawed these statements in 2008.

Now, to be fair, Microsoft always gives advance warning to the SQL Server community of the features that will be removed in future versions. As you can imagine, sometimes the list can cause a bit of a panic for database developers. But speaking from experience, the panic is usually unfounded. Microsoft has done a reasonable job with backward compatibility in the past so, in general, they do tend to preserve older features even as new ones are introduced.

And when I say fair warning, I mean it. For instance, in the "Deprecated Database Engine Features in SQL Server 2005" document on MSDN (which was first issued when SQL Server 2005 was released), number one in the list of "Features Not Supported in the Next Version of SQL Server" is the DUMP statement. This means that the DUMP statement is supported in SQL Server 2005 but we have been served notice that it won't be supported in the next release, i.e. SQL Server 2008. This is interesting for me, since I used to work for Sybase in the mid-90s; you may or may not know that Sybase invented SQL Server in the 80s and with it the DUMP statement to "dump" or backup databases.

Now bear with me as we go through a history lesson. Microsoft was looking for a database product at the time so an agreement between the companies allowed Microsoft to port the SQL Server product to its own operating systems instead of the Sybase preferred OS of UNIX. Microsoft SQL Server was born. However, Microsoft decided to terminate this agreement just before I joined Sybase (I took it personally) because they wanted control over the source code which had been previously dictated by Sybase developers. The first major Microsoft-only release was Microsoft SQL Server 6.0. In Microsoft SQL Server 7.0, released in 1998, the DUMP statement was replaced by the BACKUP statement. Microsoft obviously did not like the word DUMP so therefore wanted it "deprecated" (there is a joke there somewhere but I am not touching it). That is when the DUMP statement first appeared on the "Deprecated List" under the "Features Not Supported in a Future Version of SQL Server" category. So according to my calculations, it has taken around ten years for the DUMP statement to actually disappear from the SQL Server product after first appearing on the infamous "Deprecated List".

In other words, don't panic until it actually happens (but you have been warned!).

If you would like to plan ahead, the official "Deprecated Database Engine Features in SQL Server 2005" document is on MSDN at: http://msdn2.microsoft.com/en-us/library/ms143729.aspx

And the new proposed "Deprecated Database Engine Features in SQL Server 2008" is on TechNet here.

"Microsoft SQL Server 2008: What to expect" and other Global Knowledge Web Seminars, are at: http://www.globalknowledge.com/training/category.asp?catid=248

Good luck!

Brian

Copyright © 2008 IDG Communications, Inc.

The 10 most powerful companies in enterprise networking 2022