Ошибка при выполнении операции с базой 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-. Azhur-c.ru
ИП Журавлев Александр Сергеевич ИНН 667000271590 ОГРНИП 312667014300041 |