Конфигурация Windows XP представляет собой обычный компьютер с Pentium D 2,8 ГГц, 1 ГБ ОЗУ, с Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (сборка 3790: пакет обновления 2)
Windows Server 2003R2 - это Dell PowerEdge 2950 с четырехъядерным процессором Pentium Xeon 2,0 ГГц, 14 ГБ оперативной памяти и тем же SQL Server, что и предыдущий.
База данных составляет 4 ГБ, выполняется хранимая процедура.
Время, затраченное на завершение процесса: XP = 14 мин. 2k3 = 38 мин.
В обоих случаях SQL-сервер настроен на использование всех ядер. Нет других запущенных задач.
Как мы можем увеличить производительность на сервере, чтобы превзойти коробку XP?
Запустите Performance Monitor на обоих компьютерах и начните с измерения ЦП, средней длины очереди диска и байтов диска в секунду. Сравнение двух должно быстро выявить узкое место.
JR
Какая у вас максимальная степень параллелизма на сервере? Вы пытались настроить это для рассматриваемого запроса?
http://support.microsoft.com/default.aspx/kb/329204
Когда вы запускаете запрос на четырехъядерном компьютере, вы видите, что все ядра заняты?
14гб ОЗУ на сервере 2003? у вас Windows X64? SQL-сервер тоже x64? Кроме того, 14 ГБ не похожи на идеальную конфигурацию флешек RAM. при загрузке сервер выдает предупреждение об идеальной конфигурации ОЗУ?