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