Проблема
Рассмотрим следующий сценарий.
- У вас есть приложение, которое в значительной степени использует базу данных 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