I'm writing this post on a bus headed towards the Seattle Convention Center, where the technical folks in the field meet once a year to hear from the product teams about all the new features coming in the future. I used to present at this conference (and in fact I still do), but today I'll be attending and learning, since I'm not on the product team any more.

Which might lead you to ask - "SQL Server 2008 just came out - you're already talking about the next thing?" or, "There's a ton of new stuff coming out! Windows server 2008 R2, SQL Server 2008 R2, the next version of Office...why so many at once? Should I shelve my plans for implementing the latest version and just wait for the next?"

Well, let me explain a little about why this happens and what your possible upgrade strategies are. SQL Server 2008 has been out now for about a year, so with the promise to give you new technology every 36 months or so, we have to start planning the minute the latest version ships. So you'll see the development teams start talking about things in the next version of SQL Server, since that's what they are already working on. That shouldn't sideline any of your current upgrade plans, because with that logic you would always be waiting to install the latest version, and you would lose all of the benefits from the current stuff.

But that doesn't explain SQL Server 2008 R2. It's coming out much sooner than 36 months. I've heard some people say "oh, they must just be 'finishing' SQL Server 2008 - they didn't get it done when it shipped." Actually, that's not correct. You see, Microsoft software interacts well with other Microsoft software - it's one of our strengths. So when one version of a software package changes, other software can take advantage of it. For instance, new changes in Windows Server 2008 R2 and the next version of Office allow us to have better scale, more Virtualization options, and a completely new way to look at Business Intelligence data. So we decided that to make the best use of those new features, we would release an update to SQL Server 2008. It's bigger than a service pack, but it isn't a complete re-write of the software, so we called it "R2".

So now on to the question at hand - should you upgrade now, or wait until later. The answer, as always, is "it depends". If you're running SQL Server 2000, upgrade now. The security, performance, robustness and more make the argument for that, and the fact that it is out of support is a bigger issue. Sure, you can "fix it yourself" if something breaks, but if a new security bulletin comes out on it you're on your own - and you DON'T want to explain that to your boss. They trust you to keep their data safe, so do that. Upgrade to 2K8 now.

If you're On 2K5 and don't need the enhanced BI capabilities or enhanced management features, then upgrade now to 2K8. The general codebase for that is the same for SQL Server 2008 R2, so you'll be able to upgrade or integrate it later. No worries.

If you're looking at a long-term project, say a year out or so, then install a test box of SQL Server 2008 to become familiar with those features and then install the CTP (Customer Technical Preview) bits for R2 when they are announced.

Now I can't get that song out of my head.