Сбой SQL-запроса недостаточно места на диске
Сообщение 1101, уровень 17, состояние 10, строка 12 Не удалось выделить новую страницу для базы данных 'TEMPDB' из-за недостатка места на диске в файловой группе 'DEFAULT'. Создайте необходимое пространство, удалив объекты в файловой группе, добавив дополнительные файлы в файловую группу или установив автоматический рост для существующих файлов в файловой группе.
Что это значит на простом английском.
3 ответа
Я обнаружил, что нормальной причиной такого взрывного роста TempDB является запрос, либо специальный, либо хранимой процедуры, в котором есть неожиданное соединение "многие ко многим", которое некоторые называют "случайным перекрестным соединением"., За кулисами он может создавать буквально миллиарды внутренних строк, которые в конечном итоге живут в "рабочих" таблицах, которые находятся в TempDB.
Исправление не состоит в том, чтобы просто выделить больше дискового пространства. Исправление состоит в том, чтобы найти, какой запрос является причиной проблемы, и устранить ее. В противном случае вы застрянете в бесконечном цикле необходимости перезапуска SQL Server и т. Д. И т. Д.
И нет... вам не нужно проверять, находится ли TempDB в режиме восстановления "ПРОСТОЙ", потому что вы не можете установить его на что-либо другое. Попробуйте и посмотрите.
Это означает, что ваша база данных tempdb заполнена
вы можете
- Перезапустите службу SQL Server, это создаст базу данных tempdb
- Добавить другой файл на другой диск с большим количеством места
- Сожмите файл журнала tempdb
См. Работа с не удалось выделить новую страницу для базы данных "TEMPDB". В файловой группе нет сообщения об ошибке DEFAULT для более подробной информации
- Остановите службу агента мониторинга системы Citrix
- Остановите сервер Firebird - службу CSMInstance
- Удалите базу данных firebird RSDATR.FDB, расположенную в C:\Documents and Settings\ Все пользователи \ Данные приложения \Citrix\ Системный мониторинг \ Данные
- Перезапустите сервисы