Ошибка запроса SQL на недостаточное дисковое пространство

Msg 1101, уровень 17, состояние 10, строка 12 Не удалось выделить новую страницу для базы данных "TEMPDB" из-за недостаточного места на диске в файловой группе "DEFAULT". Создайте необходимое пространство, отбросив объекты в файловой группе, добавив дополнительные файлы в файловую группу или установив автозапуск для существующих файлов в файловой группе.

Что это означает на простом английском языке.

Ответ 1

Я обнаружил, что обычной причиной такого взрывного роста TempDB является запрос либо ad hoc, либо в хранимой процедуре, в котором есть неожиданное соединение "многие-ко-многим", которое некоторые называют "случайным" Cross Join ". За кулисами он может создавать полные миллиарды внутренних строк, которые в конечном итоге живут в" рабочих" таблицах, которые живут в TempDB.

Исправление состоит не в том, чтобы просто выделить больше дискового пространства. Исправление состоит в том, чтобы найти, какой запрос является причиной проблемы, и исправить ее. В противном случае вы столкнулись с бесконечным циклом перезапуска SQL Server и т.д. И т.д.

И нет... вам не нужно проверять, находится ли TempDB в режиме восстановления "SIMPLE", потому что вы не можете установить его ни на что другое. Попробуйте и посмотрите.

Ответ 2

Это означает, что ваша база данных tempdb заполнена

вы можете

  • Перезапустите службу SQL Server, это приведет к воссозданию tempdb база данных
  • Добавить другой файл на другой диск с большим объемом
  • Сжать файл журнала tempdb

См. Работа с не может выделить новую страницу для базы данных TEMPDB. В файле filegroup DEFAULT более не существует страниц для более подробной информации

Ответ 3

  • Остановить службу агента мониторинга системы Citrix
  • Остановить сервер Firebird - служба CSMInstance
  • Удалить базу данных Firebird RSDATR.FDB, расположенную в папке C:\Documents and Settings\All Users\Application Data\Citrix\System Monitoring\Data​​li >
  • Перезапустите службы