![]() |
Ошибка при выполнении операции с базой 1С 8: Не удалось выделить новую страницу для базы данных "TEMPDB" из-за нехватки места на диске в файловой группе "DEFAULT".
Описание ошибки:
Ошибка СУБД Microsoft SQL Server Native Client 11: Не удалось выделить новую страницу для базы данных "TEMPDB" из-за нехватки места на диске в файловой группе "DEFAULT". Создать необходимое пространство, удалив объекты в файловой группе, добавив дополнительные файлы в файловую группу или указав параметр автоматического увеличения размера для существующих файлов в файловой группе. HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=A, Severity=11, native=1101, line=1 Найденные решения: Ошибка возникла в процессе выполнения обработки по сбору данных по ценам и остаткам в базе для выгрузки на сайт. Как понятно по тексту ошибки - база клиент-серверная. СУБД - MS SQL.
Перед этим была выполнена доработка запроса в части сбора данных по ценам и остаткам в базе для выгрузки на внешний ресурс, а точнее сайт. Запрос уже до доработки выбирал данные в разрезе двух видов цен. После доработки был добавлен сбор данных еще по двум типам цен. Но известно, что примерно по каждому типу цен записей в базе не больше 150 тысяч, значит на 4 вида цен - не больше 600 тысяч строк должны были быть выбраны запросом. И судя, по тексту ошибки, не хватило места для результата выборки. И да, и нет. Четкое понимание проблемы подсказала статья на сайте AskDev.ru: Ошибка SQL-запроса недостаточно места на диске. Пришло понимание, что в доработанном запросе был упущение - не указаны связи для добавленных таблиц выборки по типам цен. Таким образом получилось, что результат стал включать все варианты с учетом двух таблиц, а это уже как минимум 150 * 103 (от исходной части запроса) *150 * 103 *150 * 103 (по 150 от двух новых таблиц) - примерно 3375 * 1012 строк результата выборки. Понятно, что не каждый сервер поддержит получение такого результата.
Поэтому необходимо вспомнить при возникновении "ошибки СУБД, Microsoft SQL Server Native Client 11: Не удалось выделить новую страницу для базы данных "TEMPDB" из-за нехватки места на диске в файловой группе "DEFAULT", не было ли перед этим выполнено некорректных доработок в плане сбора данных или обработки массивного объема данных. В общем случае просто база перезапускается. Если же запуск не происходит и сопровождается такой же ошибкой, то можно проделать следующие действия, которые можно найти среди многих, но которые больше применимы к связке программ 1С и MS SQL, по ссылке AskDev.ru: Ошибка SQL-запроса недостаточно места на диске: - Перезапустить службу MS SQL Server. Это должно обеспечить воссоздать таблицу tempdb базы данных.
Немного справки по таблицу tempdb у СУБД MS SQL в переводе с той же страницы на сайте blogs.lessthandot.com: Итак, что вызывает это (ошибку yе удалось выделить новую страницу для базы данных "TEMPDB" из-за нехватки места на диске в файловой группе "DEFAULT")? Вы можете подумать, что tempdb используется только для временных (#temp или ## temp) таблиц, но это неверно, tempdb используется для многих вещей, а с SQL Server 2005 он используется чаще, чем когда-либо. Вот некоторые вещи, для которых используется tempdb: Получается, что лучше все-таки сократить базу данных "tempdb". Если этого не сделать, то при последующей попытке вызова кода, даже если были внесены правильные корректировки можно получить ошибку:
Если открыть таблицу "tempdb" в SQL Server Management Studio, то можно наблюдать временные таблицы, которые занимают все оставшееся свободное пространство на системном жестком диске. Место на диске заканчивается, объем таблицы не очищается и дальнейшая работа может быть невозможна.
Если обратиться к рекомендациям, описанным выше, то для очистки журнала был выбран вариант перезапуска служб, связанных с MS SQL. Был выполнен последовательный перезапуск (остановка и запуск) служб SQL Server (MSSQLSERVER) и Агент SQL Server (MSSQLSERVER).
В результате данных операций свободное пространство на системном жестком диске высвободилось. Временные таблицы удалились сами естественным образом. Дальнейшая работа доработанного функционала была восстановлена.
P.S.: Так же эта ошибка стала причиной еще другой попутной ошибки. Т.е. тесно связанной. Когда база была закрыта с помощью соответствующей кнопки в окне ошибки, то после этого запустить базу ни в режиме конфигуратора, ни в режиме Предприятия не получалось, запуск 1С 8 сопровождался ошибкой "Ошибка при работе с файлом". Как была устранена ошибка читайте в следующей статье. Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу. 05-10-2021 Журавлев А.С. (Сайт azhur-c.ru) |
|
|||||||||||||
Copyright 2013-2020. Azhur-c.ru
ИП Журавлев Александр Сергеевич ИНН 667000271590 ОГРНИП 312667014300041 |