SQL Server 2008 Upgrade Woes
I’ve been working on upgrading an application from SQL Server 2005 to SQL Server 2008. Simple process, right? Well, I ran into a few issues along the way that I thought I would share with you.
First, make sure that your processor configuration matches your affinity mask. You might be thinking that I’m crazy right now, but it is a problem that I think more people will run into. Take the following example:
You are planning to upgrade a production system and you want to test it before you do the upgrade. Your production server has 8 processor cores and you have an affinity mask set to use cores 0, 2, 4 and 6. You take a P to V image of your production system and stand it up in a virtual environment (such as HyperV), but that virtual environment only has 4 processor cores configured.
In this scenario, the upgrade will fail. The user interface will not tell you exactly what went wrong…rather it will direct you to a log file that is extremely full of information. When you finally find the error message in the log file, you will find that it could not do the upgrade because the affinity mask could not be set.
I noticed this when one of my development servers (an 8 core Itanium) was rebooted and only had four cores available when it came back up. Once I got the other four cores online, the upgrade was able to complete.
The other issue came out of restoring databases. I currently use ToolX (name withheld because I don’t know if it is the cause) for my production backup software. When I upgraded to SQL Server 2008, I used ToolX to restore backups from one of my SQL Server 2005 environments into SQL Server 2008. The backups appeared to complete successfully, but when I ran a DBCC CHECKDB on them, some of them had consistency errors that did not exist in the original that the backups were pulled from. I had to do a repair_allow_data_loss to get the databases usable again.
I haven’t nailed down what the exact cause of the second problem is, but I will post a follow-up when I know.