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 с пакетом обновления 2 (SP2)

Накопительный пакет обновления 9 для SQL Server 2016 с пакетом обновления 1 (SP1)

Сведения о накопительных обновлениях для SQL Server:

Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:

Последнее накопительное обновление для SQL Server 2017 г.

Последнее накопительное обновление для SQL Server 2016 г.

Эта проблема устранена в исправлении, описанном в следующей статье:

4099490 пакет исправлений по запросу для SQL Server 2016 с пакетом обновления 1 (SP1)

Это исправление улучшает выделение страниц PFS за счет выполнения циклического перебора на нескольких страницах PFS в одном файле данных в дополнение к распределению циклического перебора во всех файлах данных tempdb. Таким образом, чем больше страниц данных PFS содержится в файле данных и чем больше файлов данных, тем лучше распределение распределения.

Примечание Так как данные теперь распределяются по интервалам PFS в файлах базы данных tempdb, такие операции, как сжатие базы данных , становятся более ресурсоемкими. Однако обычно не рекомендуется уменьшать базу данных tempdb во время типичной операции.

Сведения о пакете обновления для SQL Server:

Это обновление исправлено в следующем пакете обновления для SQL Server:

Пакет обновления 3 (SP3) для SQL Server 2014

Сведения о пакетах обновления для SQL Server:

Пакеты обновления являются накопительными. Каждый новый пакет обновления содержит все исправления, которые были в предыдущих пакетах обновления, а также все новые исправления. Мы рекомендуем применить последний пакет обновления и последнее накопительное обновление для этого пакета обновления. Вам не нужно устанавливать предыдущий пакет обновления перед установкой последнего пакета обновления. Дополнительные сведения о последнем пакете обновления и последнем накопительном обновлении см. в таблице 1 в следующей статье.

Определение версии, выпуска и уровня обновления SQL Server и его компонентов

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Ссылки

Рекомендации по сокращению состязания за выделение в базе данных tempdb SQL Server