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

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

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

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

1 ответ

Решение

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

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

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

Ваши три варианта в качестве администратора баз данных:

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