Назад | Перейти на главную страницу

Что произойдет, если tempdb больше не сможет расти?

Я столкнулся с проблемой, когда база данных tempdb, настроенная на неограниченный рост, израсходовала все доступное дисковое пространство (в 10 раз больше нормы). Я подумываю установить предел максимального размера, что-то большое, но не все пространство.

Если запрос доводит tempdb до предела, я надеюсь, что запрос, занимающий пространство, будет отключен и освободит место, позволяя всему остальному работать правильно. Вероятно ли это, или SQL Server полностью остановится?

Спасибо за любые ответы.

Есть хорошая статья Вот по этой теме (примерно на 3/4 вниз по странице). Вот отрывок:

В этом примере запрос выполняется в течение 3 минут, прежде чем мы достигнем предельного размера файла в 200 МБ, как показано на рисунке 25, и получим сообщение об ошибке, что файловая группа заполнена.

На этом этапе запрос, очевидно, не выполняется, как и любые другие запросы, для которых необходимо использовать TempDB. SQL Server по-прежнему работает нормально, но пока существует временная таблица #HoldAll, TempDB будет оставаться заполненным.

У вас как у администратора базы данных есть три варианта:

  • Перезапустите SQL Server.
  • Попробуйте сжать базу данных TempDB.
  • Найдите ошибочный запрос и устраните его.