Let's say you have a bunch of SQL Servers around your organization. It's unlikely that you're in a complete homogenous SQL Server 2005 situation and you probably have mostly SQL Server 2000, maybe some v7 (yikes!) and hopefully no v6.5. You might have a few SQL Server 2005 instances and I'm sure at the very least you've been working with the product on your laptop or desktop.
So with support ending next summer for SQL Server 2000, and gone for versions before that, you want to upgrade your servers to SQL Server 2005 over the next year.
After some research and examining the situations, I'm going to present a case for you not to upgrade to SQL Server 2005, but wait for SQL Server 2008 and make the jump then.
Next year, on July, 2008, support for SQL Server 2000 ends. Now this is mainstream support, and you'll still get security patches if anything comes up. You can also pay for support on an hourly basis if it is needed. What's interesting on service pack page is that there's a note for SP4 saying N/A for the support end and a note that support will end 12 or 24 months after the next service pack release. Now I'm assuming that there won't be an SP5, but you never know.
The other thing I'd look at is that Microsoft typically supports 2 versions of software. I can't see them ending support for SQL Server 2000 without SQL Server 2008 not being released, so my expectation is that this date will get extended if SQL Server 2008 hasn't been released by April 2008.
The last thing to consider is that there will likely be a SQL Server 2011. I can't see 2010, but I would expect 2011, which means that if you upgrade to SQL Server 2005 now, you're looking at another forced upgrade in 4-5 years. While that's not bad, if you ignore 2005 for now and move to 2008 next year, you'll have probably 7-8 years. And if you're still on SQL Server 2000 now, that's a nice long time to have a stable environment.
SQL Server 2005 is a great product. It seems very stable and relatively few issues have been reported from what I've seen. While there have been more builds than I expected, there haven't been any security patches and overall I've been impressed. More impressed than I was with SQL Server 6.0 and SQL Server 7.0.
I mention those two versions because it seems that Microsoft tends to work on a 2 version cycle with the products. SQL Server 6.0 and SQL Server 6.5 were essentially the same product. However there were issues with 6.0 that were quickly fixed by releasing v6.5 a short time later. And v6.5 was a very stable product at the time (especially compared with my 4.2 servers).
Two years later, a completely rewritten SQL Server platform was released in SQL Server 7. It was revolutionary, a paradigm change, and a great new product. But it had a lot of quirks and bugs and was immature, which was expected from a complete rewrite. SQL Server 7, released 2 years later after a v7.5 was foregone, was more stable and has become a fantastic product for thousands of users.
I kind of see SQL Server 2005 as the "v1.0" of this platform and SQL Server 2008 as the more refined, mature version. So my recommendation is that if you haven't moved yet, wait for that version.
I'm not sure where the next version, SQL Server 2011 will go or if it will be a new platform. My guess is it will be .NET 4.0, more integration and better sparse storage, but I have no idea where they're planning to go at this point with the platform.
I've written one article on features and another one forthcoming. At first I wasn't thinking there would be that many new features that were worth upgrading for, but now I'm not so sure. I had some notes from some alpha releases, and there didn't seem to be much that made sense. Some things that I thought vendors might not be pleased with, like backup compression, but the biggest thing I saw was the removal of the IIS requirement for Reporting Services.
However with the June CTP and a number of sessions at TechEd, I found a whole lot more that excited me with this product. And most of the new features I really like are in the administrative areas, not development. It seemed SQL Server 2005 was mostly focused on development rather than administration, but this next release seems to even things out. There are other features in both releases, but they tend to lean more heavily one way or the other.
Number one used to be the resource governor to limit the amount of CPU or other resources that could be used by a group of connections. However after having seen Dan Jones show the policy stuff, I'm leaning towards that as the most important feature if you have more than one SQL Server. And everyone should have at least 2.
Then in some of my research, I saw a note that said not only can we install the product and it's patches (including service packs) as a single transaction, we will also be able to uninstall service packs! It's not often I've had a Service Pack fail, but I have needed to uninstall a few and it's always been at a bad time. So I've been forced to reinstall SQL at a time I didn't want to. Like midnight.
I'm a fan of SQL Server. That's the big reason I started this site years ago with a few partners and while the platform has provided me with a great career, I've truly enjoyed working with it. In all my work and research with SQL Server 2005, I came to like the product and I applaud the SQL Server development team for the fine work they've done.
But in this case, given the short timelines and aggressive schedules that Microsoft has built, I'm going to recommend for the next year that you don't upgrade to SQL Server 2005. While I'm sure the upgrade from 2005 to 2008 will be simple, it's still time and testing, both of which are in short supply for many of us. And there's not necessarily a great business benefit to repeating the process.
Wait a year and build the next 5-8 years of your business on what should be a mature, stable, fantastic product in SQL Server 2008!