Hi. I'm jon.404, a Unix/Linux/Database/Openstack/Kubernetes Administrator, AWS/GCP/Azure Engineer, mathematics enthusiast, and amateur philosopher. This is where I rant about that which upsets me, laugh about that which amuses me, and jabber about that which holds my interest most: *nix.
24 divided by 4 is not an integer power of 2! (WTF Microsoft?)
Today I discovered quite possibly the most WTF of all quirks in a Microsoft product...the power of 2 failures in SQL Server 2005.
To back up, my company has a ton of aged Win2k SQL Server 2k machines that are about to fall apart. Some time ago, we got permission from the execs to spend around $35k on a server that would replace them all. So we purchase a new machine: 4 sockets (each socket stuffed with a 6-core Xeon), 64 GB of RAM, and 30+ 15k SAS disks. It's on par with the top five most powerful machines where I work...it's pretty dang cool.
So I have the unfortunate task of installing Windows Server 2003 and SQL Server 2005 on this machine (WHY oh WHY could I not install Gentoo/PostgreSQL)! As sickening as that is, I proceeded to install 2003 Enterprise on the box. This goes well. Then I proceed to install SQL Server 2005. That was two days ago.
Today I find this:
http://support.microsoft.com/kb/954835/en-us
Yes, you read that correctly. If the number of logical cores divided by the number of CPU sockets is not an integer power of 2, SQL Server 2005 service fails to start. To make matters worse, if the installer sees that the service doesn't start, it **rolls back** the installation! WTF again!
The least idiotic workaround is to convince Server 2003 that it's really only seeing 1 logical core (Start->Run->msconfig...well, read the above link), then run the broken SQL Server installer, update to SP2, and reboot normally to all 24 cores. I won't mention how ironic it is to have 23 cores sitting unused during installation because of an assumption...
Yup, I sincerely despise Microsoft...
And because the fix was difficult to find, here's a tag for Google:
The SQL Server service failed to start. For more information, see the SQL Server Books Online topics, "How to: View SQL Server 2005 Setup Log Files" and "Starting SQL Server Manually."
To back up, my company has a ton of aged Win2k SQL Server 2k machines that are about to fall apart. Some time ago, we got permission from the execs to spend around $35k on a server that would replace them all. So we purchase a new machine: 4 sockets (each socket stuffed with a 6-core Xeon), 64 GB of RAM, and 30+ 15k SAS disks. It's on par with the top five most powerful machines where I work...it's pretty dang cool.
So I have the unfortunate task of installing Windows Server 2003 and SQL Server 2005 on this machine (WHY oh WHY could I not install Gentoo/PostgreSQL)! As sickening as that is, I proceeded to install 2003 Enterprise on the box. This goes well. Then I proceed to install SQL Server 2005. That was two days ago.
Today I find this:
http://support.microsoft.com/kb/954835/en-us
Yes, you read that correctly. If the number of logical cores divided by the number of CPU sockets is not an integer power of 2, SQL Server 2005 service fails to start. To make matters worse, if the installer sees that the service doesn't start, it **rolls back** the installation! WTF again!
The least idiotic workaround is to convince Server 2003 that it's really only seeing 1 logical core (Start->Run->msconfig...well, read the above link), then run the broken SQL Server installer, update to SP2, and reboot normally to all 24 cores. I won't mention how ironic it is to have 23 cores sitting unused during installation because of an assumption...
Yup, I sincerely despise Microsoft...
And because the fix was difficult to find, here's a tag for Google:
The SQL Server service failed to start. For more information, see the SQL Server Books Online topics, "How to: View SQL Server 2005 Setup Log Files" and "Starting SQL Server Manually."
Total Comments 2
Comments
-
why didnt you use a FOSS SQL server?
Posted 10-28-2009 at 02:33 AM by smeezekitty -
Sure, we use PostgreSQL and MySQL all the time...but this particular product of ours relies on SQL Server. See, years ago someone made the decision to use SQL Server as a backend for one of our web-based products, and it's now on it's 4th major version revision. The code is a mixed mess of SQL and html/javascript/php. Converting it to PostgreSQL or MySQL would take about as much effort as rewriting the entire project from scratch, so when planning began for the 5.0 revision, a bunch of my FOSS-friendly co-workers and I made the effort to make a presentation to the execs about switching to FOSS.
The 5.0 revision (currently in Beta) is pure FOSS, and all of the database backends are Linux or BSD and PostgreSQL. I can't wait for everyone to upgrade so I can dump Microsoft.Posted 10-28-2009 at 09:26 AM by rocket357