Я думаю, что у меня есть основной вопрос, который многие могли бы встретить. Когда я запускаю запрос в SQL Server, он загружает в память все данные, необходимые для выполнения запроса (например, если есть соединение, то он загружает необходимые данные из этих двух таблиц), но когда запрос завершает выполнение памяти потребляемый SQL Server, не выпущен.
Я заметил это, потому что несколько дней назад я анализировал запрос, занимающий много места tempdb
. Когда я использовал для запуска запроса, он (по окончании выполнения) потреблял до 25 ГБ ОЗУ. Это 25 ГБ ОЗУ не будет выпущено, если я не перезапустил службу MSSQLSERVER
.
Как вы, ребята, занимаетесь управлением памятью SQL Server? Это явно проблема?
Я также хотел бы услышать, если вы сделаете что-то конкретное, чтобы очистить память, используемую одним запросом.
Спасибо заранее!