У меня вопрос по файлам tempdb и гиперпоточности. Вот спецификации sw / hw.
Server 2008 SP2 Standard X64 SQL 2005 Standard Sp3 x64 двухъядерный четырехъядерный процессор Xeon E5540 (с поддержкой HT) 12 ГБ ОЗУ
Мой первый вопрос: сколько файлов tempdb мне нужно создать? В руководствах указано 16, но я читал, что SQL Standard поддерживает только 4 физических процессора. Как sql различает физическое / логическое ядро и сокеты?
Если я смогу получить ответ на этот вопрос, могут быть и другие, так что обо всем по порядку.
Спасибо всем, кто может помочь.
сколько файлов tempdb мне нужно создать?
Стандартный ответ на это: по одному на ядро ЦП. Это «эталон» для SQL 2005 и 2008.
Вот мои практические правила на 2005 год:
В TEMP создайте от 0,25 до 1 файла данных для каждой файловой группы на CPU. Двухъядерный (суперскалярный) считается дополнительным процессором, а гиперпоточность - нет.
Общий TEMP, как минимум, должен составлять около 25% от размера самой большой таблицы в любой базе данных. Будьте TEMP щедрыми. TEMP полностью взломан и перестроен после отказов SQL Server. TEMP может использовать только модель восстановления ПРОСТОЙ базы данных.
Смотрите также здесь: http://www.microsoft.com/technet/prodtechnol/sql/2005/workingwithtempdb.mspx
ура
Отключите Hyperthreading. SQL и HT не смешиваются.
Стандартная версия действительно поддерживает только 4 процессора: Сравнение функций SQL Server 2005. Но, как и при лицензировании, ограничение ЦП Express / Workgroup / Standard (1/2/4) относится к физическому процессору, поэтому ваша система будет использовать все 8 ядер. Видеть KB914278 (хотя это для Express, алгоритм также применим и к другим выпускам).
Таким образом, вы должны создать 8 файлов одинакового размера для tempdb. После отключения HT конечно.
По моему мнению:
'# потоков = # tempdb's'