2016-12-14 8 views
0

В нашем агенте SQL Server работа обычно занимает 30 минут каждый день. Сегодня он работал в течение 3 часов и 41 минуты, а затем вышел из строя из-за «Не удалось выделить пространство для объекта« dbo.SORT временное хранилище: 140907480547328 »в базе данных« tempdb », потому что файловая группа« PRIMARY »заполнена»Сбой задания SQL Server из-за проблем с пространством

Теперь я понимаю, что tempdb полон, и работа не удалась. Но задание выполнено, чтобы сделать еще 2 попытки, и во 2-й попытке это задание завершилось через 31 минуту без этого отказа.

Мои вопросы вокруг этой проблемы:

1) Почему он не провалить 2-й раз?

2) Если на 1-й попытке не хватило места, почему он подождал 4 часа, чтобы сделать это, когда он обычно заканчивается через 31 минуту?

Любые идеи вокруг этих вопросов были бы очень полезными.

Спасибо, Р.

+0

он может пройти через множество операций по замене/очистке/на протяжении всего времени, чтобы попытаться сделать пространство .... если вы работаете на диске, который, как говорят, ваш журнал транзакций, и он не имеет была скопирована в течение некоторого времени, может привести к тому, что ваша работа завершится неудачей до тех пор, пока не будет скопирован журнал транзакций (который затем очистит некоторый диск) - это всего лишь пример – Kritner

+0

Спасибо за это объяснение. Эта проблема не возникает ежедневно, и иногда она проходит неделю или около того без каких-либо проблем. – rvphx

ответ

0

база данных, как правило, имеет отдельные группы файлов для данных, администратор базы данных будет пытаться обеспечить, чтобы ОСНОВНОЙ не файловой группой по умолчанию. Рекомендуется сохранить основную файловую группу маленькой, поскольку она содержит таблицы SYS, и SQL захочет получить к ней доступ быстрее.

Эта ошибка обычно возникает, когда кто-то случайно создает индекс в первичной файловой группе.

Убедитесь, что все индексы на таблице находятся в правильной файловой группе.

Ваш администратор базы данных должен быть в состоянии вам помочь.