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

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

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

3 ответов


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

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

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


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

вы можете

  1. перезапустите службу SQL Server, это позволит воссоздать базу данных tempdb база данных
  2. добавить другой файл на другой диск с большим пространством
  3. сжать файл журнала tempdb

посмотреть работа с не удалось выделить новую страницу для базы данных "TEMPDB". В сообщении об ошибке по умолчанию файловой группы больше нет страниц дополнительные детали


  1. остановите службу агента мониторинга системы Citrix
  2. остановить сервер Firebird-служба CSMInstance
  3. удалить RSDATR.База данных FDB firebird находится по адресу C:\Documents и настройки\все пользователи\данные приложения\Citrix\Мониторинг системы\Data
  4. перезапустить службы