Я использую SQL Server 2005.
Я выполняю задание, которое обрабатывает около 100 тыс. Записей. Работа выполняется нормально, на выполнение требуется 45 минут, и это хорошо.
Но после того, как это задание будет обработано, я вижу, что экземпляр SQL Server 2005 все еще существует с примерно 900 МБ памяти. Я ждал около 2 часов, но эта память не была освобождена.
Есть ли здесь какой-либо процесс, который заботится о памяти, что-то вроде GC (непредсказуемо) или я что-то делаю не так ???
SQL Server не освобождает буферную память, если O.S. активно ее восстанавливает; так что это ожидаемое поведение.
Если есть нехватка памяти (например, какое-то другое приложение в системе нуждается в недоступном), SQL Server освободит неиспользуемую память.
SQL-сервер так не работает. Он освободит память, если что-то еще понадобится, но в противном случае он сохранит то, что у него есть, чтобы помочь ему работать более эффективно. На сервере, на котором запущен SQL Server, обычно мало свободной памяти.