About Brent Ozar

SQL Server 2008 Sucks

SQL Server 2008 is coming fast, and there’s going to be a bunch of web posts and magazine articles telling you how great it is.  I’m going to play devil’s advocate for a minute and tell you why SQL 2008 sucks.

The good stuff isn’t backwards compatible.

We can’t immediately upgrade every server in the shop.  Not only does it take months to plan those types of projects, but we also have to make sure that every app that connects to the database will officially support SQL 2008.  I’ve met with many production DBAs recently who’ve said more than half of their servers are still running SQL 2000!

Take the easiest-to-use new feature: IntelliSense.  Let’s all raise a glass to IntelliSense, a big time saver.  Now let’s pour the contents of that glass on the people who decided that IntelliSense should only work when we’re querying SQL 2008.  Come on, guys, we’ve been able to do this in Toad and other third-party products for years.  Why does Excel feel like a better programming tool than SQL Server Management Studio?

Or take one of the harder new features to use: policy-based management. I got excited, started building T-SQL policies for my servers, and then realized I couldn’t apply them to my SQL 2000/2005 boxes without writing SMO code.  Wait – what?  I’m a DBA, not a C# developer.  That means I’ll need to use both methods to manage my SQL boxes: whatever I’m using now, plus 2008’s management policies.  I hate redundancy.

Another example: the Management Data Warehouse, which collects performance and query data on the server to give you a health picture.  Sounds great – until you realize that you’ll have one solution for your SQL 2008 boxes, and another solution for the rest.  Ugh.

The good stuff is only in Enterprise Edition.

Some of my favorite new features are only available in the Enterprise Edition, not Standard:

  • Data compression
  • Backup compression
  • Resource governor
  • Change data capture

I can see how some of these features are really positioning SQL Server against Oracle, integrating features that Oracle’s had for a while.  And if we’re going up against Oracle, then sure, we’re talking about customers with money.  But wouldn’t we all love data compression, a feature that gives dramatic I/O performance improvements without changing our code?  It’s only available in Enterprise, and I’m not convinced that the cost difference justifies those features.

There’s no easy GUI for the good stuff.

Even if you fork out the big bucks for Enterprise, that doesn’t mean you can use those features right away.  Take SQL 2005’s partitioning feature – when that came out, I was so excited!  It solved a big business need for me.  However, when I had to debug and troubleshoot my first partitioning schemes and functions, I was, uh, less than excited.  No GUI help whatsoever – just manual coding scripts.  Can we get just a little GUI help to get started?  No can do.  Powerful feature, but no help from the GUI.

Now, in 2008, Microsoft took that same approach with many more new features:

Want to use Transparent Data Encryption? Don’t expect to check a box and put in a password, oh no.  Light the fire, pour yourself a drink, and snuggle up with Technet to learn about certificates.  Oh, and don’t forget to pay particular attention to the part about backing up your certificates – otherwise, if your server crashes, you won’t be able to restore your backups.  And no, the cert isn’t included with the database backup.

Want to enable data compression? You’d expect to just right-click on the database and turn on compression.  No can do – compression is done at the table & index level.  There’s a wizard to go compress existing tables & indexes, but that doesn’t save the DBA when people constantly create new tables and indexes.  Those folks won’t know to use compression, and it’s a hassle to manage at the table/index level.

Want to use policy-based management with SQL 2000 or 2005? Like my grandma used to say, it don’t hurt to want.  Let go of the mouse – you’ll be writing SMO code for that one.

And no, there’s still no partitioning GUI in SSMS 2008, which leads me to believe these new 2008 features won’t have good GUI support in SSMS 2011, either.

Forget it – I’m switching to MySQL!

Okay, reality check: I’ve got gripes with SQL Server 2008, but they’re pretty small, especially relative to the other platforms out there.  It’s like saying my Ferrari Superamerica* doesn’t have enough seats for my drinking buddies, so I’ll be switching to a minivan.  Some compromises are worth making.

*Disclaimer – I don’t have a Ferrari Superamerica.

5 comments to SQL Server 2008 Sucks

  • I am going to laugh when you “go” into work tomorrow and find out you have been put on the DB2 team. :)

  • Brent – do I detect a little ‘Vista’ in this post. Is 2008 the version folks will skip, staying on 2005 until 2011 comes along?

  • Jason, they would never do that, ever – they wouldn’t do it to the DB2 team, ha ha ho ho.

    Christian, you hit the nail on the head there. I wasn’t going to come right out and say it, but yeah, that’s exactly what this is. So many DBAs out there are still saddled with SQL 2000 servers, and this isn’t going to be the release that makes them upgrade. SQL 2005 is going to be the release that makes them upgrade.

    They’re going to say, “Okay, I have to get off SQL 2000, but I’m not comfortable going to 2008 yet, so we’ll go to 2005.” We heard this at the Customer Advisory Board too – there’s not enough reward in 2008 for most users to balance out the risks.

    Data warehouses will be the exception – those guys will move to get the better star schema optimizations, the resource governor, the data compression, etc – but they already use Enterprise exclusively, and they have a lower number of servers to manage.

  • David

    Good comments and somewhat valid concerns. It certainly seems like another 12 months of development and they could have done a lot to include most of the things you mention and at least include the backward compatibility to 2005.

    As for these being reasons to not upgrade to 2008, I can’t see it. For those that are running on 2000 it would still seem like the best solution would be to jump ahead and work through any issues involved. Especially if you are using Enterprise Edition.

    Thanks for the post!

  • Lee Grissom

    Will DBAs get to choose to migrate to either 2005 or 2008 after 2008 becomes available? I tend to think new licenses for 2005 will be hard to come by. So it’s either stick with 2000, or wait until 2011. :P Okay, maybe I’m being a little egregious.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">