Today, Rachel’s company took delivery of a great little HP Proliant server for the purpose of ASP web development. You’d be amazed at how much demand there still is in the market for this sort of work, and as the projects get heftier, as do the servers. Suffice to say this HP is a lovely bit of kit and the mere fact that the driver CD includes both generic and some distro-specific linux drivers gives me every confidence that it’s a well thought-out product.

Anyway, the sad truth is that we needed to install Windows on it and because it’s for web application development, a fresh copy of SQL Server 2000. I hear there’s a new version of this around the corner, but as with any database server, adoption will not be hugely rapid, and 2000 is what the client runs.

Part of the company’s licensing package with Microsoft includes a version of Windows Server 2003 Web Edition. That’s perfect, I thought as we don’t need Active Directory or clustering or more than 2GB RAM for a small development server, and this Web Edition must be aimed at precisely the task we have in mind – serving web. So in went the CD, off went the installer and thirty minutes later it was done. Superb. And two hours later, I’d finished downloading SP1. A necessary evil, I suppose.

So the next job on the list was installing SQL Server 2000. In goes the CD, off goes the installer, and … nothing. The installer just quits. No biggy, thinks I, and off to Google I trot to find out what’s going on. And boy, let me tell you what’s going on.

You cannot install Microsoft’s database server on Microsoft’s web-optimized operating system. It’s deliberately crippled.

Dear Microsoft; WHAT THE HELL WERE YOU THINKING? I know that with a heavy site or web app you’d run SQL Server on a different box to IIS – just as you would with Apache and MySQL on Linux, but HELLO? Not every situation requires that, and have you noticed HOW POWERFUL COMPUTERS ARE THESE DAYS?

But that’s not really the point. The point is this. No matter what the recommended configuration is, the ultimate configuration is not for you to decide. That’s my job to screw up as I see fit. And deliberately disabling one product from running with another based on an arbitrary recommended use decision is just maddeningly dumb.

Microsoft. Here’s your sign.