Чому статистика оновлень повного сканування використовує 100% процесора на SQL Server 2014, коли він використовує, можливо, 20% процесора на SQL Server 2008 R2, для тих же таблиць з аналогічною апаратною здатністю?
Я дивився на MAXDOP
інші варіанти, і справді не бачу нічого, що виділяється. Я розумію, що можуть бути налаштування, які можуть викликати це, але налаштування дуже схожі для обох баз даних (наприклад, MAXDOP
4 для обох, причому обидва мають декілька ядер). Обидва є Enterprise Edition.
Чи є щось "інше" у SQL Server 2014 порівняно з SQL Server 2008 R2, що могло б пояснити це? У мене є можливість пам'яті на 90% для обох серверів. Будь-які думки, на що звернути увагу?
Я запускаю статистику оновлень при повному (100%) скануванні один раз на тиждень на двох серверах за допомогою SQL Server 2008 R2 / SP3 та SQL Server 2014 / SP2, а бази даних мають однакову структуру. На сервері R2 2008 р. Статистика оновлення двох дуже великих таблиць займає кілька годин, і це те, що я очікую, але процесор залишається меншим за 20% або більше використання всього цього часу. Однак на сервері 2014 року процесор працює на 100% приблизно 40 хвилин. Таблиць трохи менше на сервері 2014 року. Я бачу це за допомогою меню аналізу SQL Monitor.
Ось вихід файлу журналу Ola на SQL Server 2014, процесор переходить на 100% приблизно від 2:10 до 2:45:
Date and time: 2017-06-24 02:10:20
Command: UPDATE STATISTICS [InVA].[dbo].[AuditField] [_WA_Sys_00000005_15502E78] WITH FULLSCAN
Outcome: Succeeded
Duration: 00:07:48
Date and time: 2017-06-24 02:18:08
Date and time: 2017-06-24 02:18:08
Command: UPDATE STATISTICS [InVA].[dbo].[AuditField] [_WA_Sys_00000006_15502E78] WITH FULLSCAN
Outcome: Succeeded
Duration: 00:32:22
Date and time: 2017-06-24 02:50:30
Ось вихід файлу журналу Ola на SQL Server 2008 R2 для двох статистичних даних вище, але процесор може становити, можливо, 15%:
Date and time: 2017-06-24 03:30:32
Command: UPDATE STATISTICS [InGA].[dbo].[AuditField] [_WA_Sys_00000003_0425A276] WITH FULLSCAN
Outcome: Succeeded
Duration: 00:05:00
Date and time: 2017-06-24 03:35:32
Date and time: 2017-06-24 03:35:32
Command: UPDATE STATISTICS [InGA].[dbo].[AuditField] [_WA_Sys_00000004_0425A276] WITH FULLSCAN
Outcome: Succeeded
Duration: 00:52:31
Date and time: 2017-06-24 04:28:03
Я не можу запустити їх із сервером maxdop = 1, оскільки це виключає все паралельне генерування плану, і це може зашкодити додатку. Я планую піти в зворотному напрямку і збільшити його до 8 (на коробці є 16 ядер) і подивитися, що станеться. Може йти швидше, щоб зменшити тривалість прив’язки процесора. Ця робота працює, поки користувачі в основному не входять.
tempdb
однакова конфігурація? Його можна використовувати під часUPDATE STATISTICS
запуску, так що це також може бути проблемою.