Временных таблицы всегда получают созданную в базе данных TempDb. Однако нет необходимости, чтобы размер TempDb был обусловлен только временными таблицами. TempDb используются различными способами
- Внутренних объекты (Сортировка & золотника, КТР, восстановление индекса, хеширования и т.д.)
- объектов пользователя (временные таблицы, таблицы переменных)
- Версии магазина (ПОСЛЕ/ВМЕСТО триггеры, MARS)
так, как это ясно, что это является использование в различных SQL-операций, так что размер может расти из-за других причин также
Вы можете проверить белый при вызывает TempDB расти его размер с ниже запроса
SELECT
SUM (user_object_reserved_page_count)*8 as usr_obj_kb,
SUM (internal_object_reserved_page_count)*8 as internal_obj_kb,
SUM (version_store_reserved_page_count)*8 as version_store_kb,
SUM (unallocated_extent_page_count)*8 as freespace_kb,
SUM (mixed_extent_page_count)*8 as mixedextent_kb
FROM sys.dm_db_file_space_usage
, если выше показывает запроса,
- Большее число пользовательских объектов, то это означает, что существует более использование временных таблиц, курсоров или временных переменных
- Более высокое количество внутренних объектов указывает, что в плане запросов используется много базы данных. Пример: сортировка, Группа по пру
- Большего количества версий магазинов показывает Длинные транзакции бега или высоких пропускной способность транзакций
основан на том, что вы можете настроить TempDb размера файла. Недавно я написал статью о лучших настройках конфигурации TempDB. Вы можете прочитать, что here
Спасибо за подробную информацию Anuj, это было действительно информативно. Темп db в моем случае увеличивался при запуске скрипта, у которого был оператор объединения с таблицей, в которой были дубликаты записей. Он должен был увеличить количество внутренних объектов, которые вы упомянули. – pso