Power of 2 – Installing SQL Server 2005 on an odd number of processors

Today I received an email from a buddy of mine who happens to be a MVP for System Center Configuration Manager (SCCM). I had asked him for some info a few weeks back about SCCM and he responded with some great insight as I would have expected.  His email today was a payback for his generosity in that he asked me a SQL question, knowing that I was a SQL MVP. I could not let him down, right? His mail was very generic about a failing SQL Server 2005 installation. His exact words were :

“Some of my co-workers are trying to install SQL 2005 on a 2003 server. The install gets to the place where the services would start and it fails. He said from the logs he thinks it has something to do with the just in time debugger. He is only selecting two components to install, the database and workstation components.”

And then he had asked if I knew what could be the issue. 

Two questions jumped to my mind, 1.) was it a cluster install on the active node and 2.) how many processors are on the system, are there more that 16?

I called him and tried to diagnose the issue, starting with my questions. He said he thought it was not an issue with a cluster as it was a virtual system and that the number of processors was not excessive so it could not be the issue I thought it was.

As it turned out, even with only vague idea of what the failure could be, I was able to quickly pinpoint the issue, having to do with an inability to install SQL Server 2005 on a system with an odd number of procs, such as might be the case with a VM assigning 3 processors or a Tri-Core proc where the ratio of logical to physical processors does not produce a number that is a power of 2. All that is explained in the following link. And ironically, I knew of this problem because it happened to my team not more than 3 weeks back when we had a new system with an odd number of cores.


My buddy asked if we could slipstream the SP that fixed this issue (SP3) into the RTM SQL Server 2005 inststall. I told him “No”, and that slipstreaming was only available in SQL Server 2008. But the workaround and full discussion of the problem exists. It can be tricky and frustrating  if you have not experienced this before.