Yesterday, I uninstalled SQL Server 2005, ending a month of frustration and wasted time with a product, that as far as I can tell was released completely broken. During the course of April, I clocked a total of 46.75 hours on SQL Server 2005 related tasks (that includes installing it). Given how insanely busy I’ve been during this month even without the SQL Server probliems, it’s a little ridiculous. Many clients have suffered poor support during April, which was only compounded by this misadventure.
The Basic issue at hand with SQL Server 2005 is that if you use it in a shared hosting environment, you can’t copy your database up or down from your staging server (well, I, at the very least, couldn’t, even with some significant help from the friendly folks at MS Support). You need to have Sysadmin abilities to ‘copy’ a database. The Transfer Objects and Transfer Database tasks of SSIS both fail if you’re not logged in through Windows Authentication, in addition to a variety of other problems that mean that even with that fixed, I couldn’t get them to work (in the end, I was trying to copy DBs from my development box to my staging server box, where I am a Sysadmin, and I still couldn’t get these SSIS tasks to work).
So yesterday, I spent an hour writing a script that copied a SQL Server 2005-installed copy of the Pencilcase over to a SQL 2000 copy of the pencilcase. Ironically, this script worked better than the built-in import/export data task of SQL Server, in that it actually copied across IDs, so I didn’t lose referential integrity, which kept happening with the import/export data task. I then spent 1 hour actually doing the migration on the 4 (still in development) sites that I had created on SQL Server 2005. Finally, another 1.5 hours to uninstall SQL Server 2005 and install SQL Server 2000 on my dev box & staging server. And then 10 minutes to import a copy of the 2 DBs I needed to be working on yesterday from the production server.
I’ve been a Windows/MS user for a long time and never have I been so disapointed in a product. I’m really glad that I’ve coded the Pencilcase Data Layer to be platform agnostic. I think I might start using MySQL, just to fully rid myself of the bad taste in my mouth.