KB4099472 - Подобрение на кръговия алгоритъм на PFS през SQL Server 2014 г., 2016 г. и 2017 г.

Отнася се за
SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2017 Developer on Windows SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Симптоми

Имайте предвид сценария, описан по-долу:

  • Имате приложение, което използва в голяма степен базата данни tempdb, или имате конкретно работно натоварване на база данни tempdb.
  • Надстройвате до Microsoft SQL Server 2016 или по-нова версия и започвате да виждате конкуренцията за страници на PFS.
  • Следвате най-добрите практики за бази данни на tempdb и добавяте няколко файла с данни.

В този случай тежката конкуренция за страници за PFS продължава и се отразява на производителността на системата.

Забележка Ако картата на страницата лесно се разделя на 8088, това е PFS страница. Например страница 2:3:905856 е PFS в file_id=3 в tempdb.

Решение

Информацията за кумулативната актуализация

Този проблем е решен в следните кумулативни актуализации за SQL Server:

Сборна актуализация 7 за SQL Server 2017

Сборна актуализация 1 за SQL Server 2016 SP2

Сборна актуализация 9 за SQL Server 2016 SP1

За кумулативните актуализации за SQL Server:

Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:

Последна сборна актуализация за SQL Server 2017

Последна сборна актуализация за SQL Server 2016

Този проблем е коригиран в актуалната поправка, която е описана в следната статия:

Пакет за актуализация на гореща поправка 4099490 при поискване за SQL Server 2016 SP1

Тази корекция подобрява разпределението на страници в PFS чрез извършване на кръгово разпределение на няколко PFS страници в един и същ файл с данни, в допълнение към разпределението "циклично" за всички файлове с данни на TEMPDB. Следователно, колкото повече страници с данни за PFS се съдържат във файл с данни и колкото повече файлове с данни има, толкова по-добро е разпределението на разпределението.

Забележка Тъй като данните сега са разпръснати между интервалите на PFS във файловете на базата данни tempdb, операции като свиване на базата данни ще станат по-ресурсоемки. Въпреки това, обикновено не се препоръчва свиването на tempdb по време на типичния ход на работа.

Информация за сервизни пакети за SQL Server:

Тази актуализация е коригирана в следния сервизен пакет за SQL Server:

Service Pack 3 за SQL Server 2014

За сервизните пакети за SQL Server:

Сервизните пакети са кумулативни. Всеки нов сервизен пакет съдържа всички корекции, които са в предишните сервизни пакети, заедно с всички нови корекции. Нашата препоръка е да се приложи най-новият сервизен пакет и най-новата кумулативна актуализация за този сервизен пакет. Не е необходимо да инсталирате предишен сервизен пакет, преди да инсталирате най-новия сервизен пакет. Използвайте таблица 1 в следващата статия, за да намерите повече информация относно най-новия сервизен пакет и най-новата кумулативна актуализация.

Как да определите версията, изданието и нивото на актуализация на SQL Server и неговите компоненти

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Справки

Препоръки за намаляване на състезанията за разпределение в базата данни tempdb на SQL Server