Проблемы
Предположим, что вы создаете или удаляете большое количество временных таблиц в Microsoft SQL Server 2016 или 2017. При определенной загрузке приложения кэш временных таблиц становится недействительным. Например, вы создаете временные таблицы, а затем создаете инструкцию ALTER TABLE или CREATE INDEX, которая сделает кэш временными таблицами недействительными . В этом случае могут возникать указанные ниже проблемы.
-
В базе данных tempdb на системном каталоге sysobjvalues и большое количество сеансов, ожидающих PAGELATCH_EX, PAGELATCH_SH и PAGELATCH_UP ожидание.
-
Эта ситуация также влияет на рабочую нагрузку, если число записей превышает 4 000. Однако это может отличаться в зависимости от рабочей нагрузки. Ниже приведены примеры.
SELECT [name], [type], [entries_count], [entries_in_use_count]
FROM sys.dm_os_memory_cache_counters
WHERE [type] = N'CACHESTORE_TEMPTABLES'
псевдоним
команду
entries_count
entries_in_use_count
Временные таблицы & табличные переменные
CACHESTORE_TEMPTABLES
<количество>
<количество>
Решение
Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.
Накопительное обновление 5 для SQL Server 2017
Накопительное обновление 8 для SQL Server 2016 с пакетом обновления 1 (SP1)
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Ознакомьтесь с терминологией, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.