Я столкнулся с проблемой, когда база данных tempdb, настроенная на неограниченный рост, израсходовала все доступное дисковое пространство (в 10 раз больше нормы). Я подумываю установить предел максимального размера, что-то большое, но не все пространство.
Если запрос доводит tempdb до предела, я надеюсь, что запрос, занимающий пространство, будет отключен и освободит место, позволяя всему остальному работать правильно. Вероятно ли это, или SQL Server полностью остановится?
Спасибо за любые ответы.
Есть хорошая статья Вот по этой теме (примерно на 3/4 вниз по странице). Вот отрывок:
В этом примере запрос выполняется в течение 3 минут, прежде чем мы достигнем предельного размера файла в 200 МБ, как показано на рисунке 25, и получим сообщение об ошибке, что файловая группа заполнена.
На этом этапе запрос, очевидно, не выполняется, как и любые другие запросы, для которых необходимо использовать TempDB. SQL Server по-прежнему работает нормально, но пока существует временная таблица #HoldAll, TempDB будет оставаться заполненным.
У вас как у администратора базы данных есть три варианта:
- Перезапустите SQL Server.
- Попробуйте сжать базу данных TempDB.
- Найдите ошибочный запрос и устраните его.