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

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

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


person JsonStatham    schedule 20.01.2012    source источник
comment
Не надо так резко. Плакат явно просит разъяснений, почему это происходит.   -  person general exception    schedule 22.01.2012
comment
@generalexception - Поскольку сообщение на самом деле очень ясное, помогает, если они объясняют, чего не понимают. Работаем ли мы с отправной точки, когда они даже не знают, что такое tempdb или почему это связано с их запросом?   -  person Martin Smith    schedule 22.01.2012
comment
Извините, Мартин, вы должны предположить, что я знаю, что такое tempdb, я имел в виду общие причины этого сообщения об ошибке, я постараюсь быть предельно ясным в следующий раз, чтобы не вызывать путаницы или сомнений. С этого момента, если я вставлю сообщение об ошибке, я пройдусь по каждой части и скажу, понимаю я это или нет.   -  person JsonStatham    schedule 23.01.2012
comment
Еще раз извините, где бы мы были, если бы у нас не было таких людей, как вы, чтобы указать на эти вещи...   -  person JsonStatham    schedule 23.01.2012
comment
Без проблем. Всегда рад помочь!   -  person Martin Smith    schedule 23.01.2012


Ответы (3)


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

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

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

person Jeff Moden    schedule 21.01.2012

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

ты сможешь

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

См. раздел Работа с не удалось выделить новую страницу для базы данных ' TEMPDB'. Нет больше доступных страниц в сообщении об ошибке DEFAULT для файловой группы подробнее

person SQLMenace    schedule 20.01.2012

  1. Остановите службу агента мониторинга системы Citrix.
  2. Остановить сервер Firebird — службу CSMINstance
  3. Удалите базу данных firebird RSDATR.FDB, расположенную в папке C:\Documents and Settings\All Users\Application Data\Citrix\System Monitoring\Data.
  4. Перезапустите службы
person Mohammad Afaque Siddiqui    schedule 09.08.2012
comment
Этот вопрос явно помечен тегом SQL Server, который не Firebird. - person Ken White; 15.06.2017