четверг, 31 октября 2013 г.

Ошибка установки MS SQL Server на ПК с нечётным количеством ядер процессора.

Проблема:
Машина на AMD Athlon II X3 435, свежеустановленная Windows 2003 Server
Ставится MS SQL Server 2000 Standart, установка проходит нормально, все работает.
Однако, после попытки установить SP4, MS SQL перестает запускаться.
Точнее сказать, в процессе установки наглухо зависает, а после принудительного прерывания - более не стартует.

В журнале установки отображается следующее:
13:44:06 Upgrading databases
13:44:06 Upgrading databases on instance 'MSSQLSERVER'
13:44:06 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\SqlSetup\Bin\scm.exe  -Silent 1 -Action 6 -Service MSSQLSERVER 
13:44:06 Process Exit Code: (0)
13:44:06 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\SqlSetup\Bin\scm.exe  -Silent 1 -Action 6 -Service MSSQLSERVER 
13:44:06 Process Exit Code: (0)
13:44:06 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\SqlSetup\Bin\scm.exe  -Silent 1 -Action 1 -Service MSSQLSERVER   -StartupOptions \-T4022 \-T4010 \-m
13:59:13 Process Exit Code: (1460) Возврат из операции произошел из-за превышения времени ожидания.

14:01:36 A service control operation failed for the MSSQLSERVER service: 1460
Возврат из операции произошел из-за превышения времени ожидания.

14:02:33 An error occurred starting the service to build system catalogs.
14:02:33 Action CleanUpInstall:
14:02:33 Installation Failed.



Попытки использования других версий ПО (Developer, Enterprise) и прочие игры с ПО (обычные советы насчет отключения антивируса и т.п.) результата не дали.

Решение:
Нашел несколько ссылок, с примерно похожими симптомами:
1.http://www.sql.ru/forum/684454-3/oshibka-pri-ustanovke-obnovleniy-sp4-na-ms-sql-2000 - некто xishnik  хотел поднять 2000 SQL и накатить SP4 поверх, результат как у меня. Если убрать разухабистые комментарии тамошних форумных дебилов, в сухом остатке останется буквально 3 сообщения в самом конце темы - да, на нечетном количестве ядер установка SP4 не стартует, а если поменять процессор после установки сервис-пака - MS SQL не работает.
2. http://support.microsoft.com/kb/954835/en-us - "On a computer that has a multicore processor, you may be unable to install SQL Server 2005" - не совсем 2000 SQL, конечно, но все-таки похоже: 
Consider the following scenario. You try to install Microsoft SQL Server 2005 on a computer that has a multicore processor, and one of the following conditions is true:
 - The ratio between logical processors and physical sockets is not a power of 2. For example, the computer has a single socket together with a triple-core processor.
 - The number of physical cores is not a power of 2.
 - The total number of CPUs is an odd number. For example, there are seven or nine CPUs.
In these scenarios, you cannot install SQL Server 2005.
Лечить проблему, не меняя сам процессор, предлагается через редактирование файла BOOT.INI путем установки параметра  /NUMPROC= 1. (подробней см. по ссылке выше)

Попробовал, но увы, ни на 2005, ни на 2000 версиях SQL рецепт не сработал.
Помогло только волевое решение перейти на версию SQL Server 2008 SP1 CU3. Она работает на любом количестве ядер.
Конечно, возникла новая проблема: подружить 1С 7.7 с 2008 SQL Server, но это другая история.

Комментариев нет: