KB4099472 — ulepszenie algorytmu okrężnego obliczania strony PFS w SQL Server 2014, 2016 i 2017

Dotyczy
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)

Objawy

Rozważmy następujący scenariusz:

  • Masz aplikację, która intensywnie korzysta z bazy danych tempdb, lub masz określone obciążenie bazy danych tempdb.
  • Po uaktualnieniu do programu Microsoft SQL Server 2016 lub nowszej zaczyna być wyświetlana rywalizacja o stronę PFS.
  • Postępuj zgodnie z najlepszymi rozwiązaniami dotyczącymi bazy danych tempdb i dodaj kilka plików danych.

W tym scenariuszu trwa duża rywalizacja o strony PFS i wpływa na wydajność systemu.

Wskazówka Jeśli mapę strony można łatwo podzielić przez 8088, jest to strona PFS. Na przykład strona 2:3:905856 jest PFS w wartości file_id=3 w bazie danych tempdb.

Rozwiązanie

Informacje o aktualizacji zbiorczej

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych programu SQL Server:

Aktualizacja zbiorcza 7 dla programu SQL Server 2017

Aktualizacja zbiorcza 1 dla programu SQL Server 2016 z dodatkiem SP2

Aktualizacja zbiorcza 9 dla programu SQL Server 2016 z dodatkiem SP1

Informacje o aktualizacjach zbiorczych programu SQL Server:

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:

Najnowsza aktualizacja zbiorcza dla programu SQL Server 2017

Najnowsza aktualizacja zbiorcza dla programu SQL Server 2016

Ten problem został rozwiązany w poprawce opisanej w następującym artykule:

4099490 Pakiet aktualizacji poprawek na żądanie dla SQL Server 2016 z dodatkiem SP1

Ta poprawka poprawia alokację stron PFS, wykonując alokacje okrężne na kilku stronach PFS w tym samym pliku danych, oprócz alokacji działania okrężnego we wszystkich plikach danych tempdb. Z tego względu im więcej stron danych PFS znajduje się w pliku danych i im więcej jest plików danych, tym lepszy jest rozkład alokacji.

Wskazówka Ponieważ dane są teraz rozproszone w interwałach PFS w plikach bazy danych tempdb, operacje takie jak zmniejszanie bazy danych wymagają większej ilości zasobów. Nie zaleca się jednak zmniejszania bazy danych tempdb w trakcie typowego przebiegu pracy.

Informacje o dodatku Service Pack dla programu SQL Server:

Ta aktualizacja jest poprawiona w następującym dodatku Service Pack dla programu SQL Server:

Service Pack 3 dla programu SQL Server 2014

Informacje o dodatkach Service Pack dla programu SQL Server:

Dodatki Service Pack są kumulatywne. Każdy nowy dodatek Service Pack zawiera wszystkie poprawki zawarte w poprzednich dodatkach Service Pack oraz nowe poprawki. Zalecamy stosowanie najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej dla danego dodatku Service Pack. Instalowanie poprzedniego dodatku Service Pack przed zainstalowaniem najnowszego dodatku Service Pack nie jest konieczne. Więcej informacji na temat najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej znajdziesz w tabeli 1 w następującym artykule.

Jak określić wersję, wersję i poziom aktualizacji programu SQL Server i jego składników

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Zalecenia dotyczące zmniejszenia rywalizacji o alokację w bazie danych tempdb programu SQL Server