Невосстановимая ошибка базы данных код 10

Недавно столкнулся с неприятной ошибкой на одном из старых серверов с 1С. Решил записать решение, чтобы не забыть и с другими поделиться. При определенных обстоятельствах пользователь не может зайти в базу 1С, получая ошибку во время логина на нехватку памяти.

Введение

Данная ошибка может сопровождаться разным названием и описанием, но по смыслу они будут примерно одинаковые. Суть в том, что не хватает оперативной памяти для входа в базу. Но при этом совсем не очевидно, о какой памяти идет речь. Например, вот текст:

Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Ошибка выделения памяти
HRESULT=80004005,

Microsoft SQL Server Native Client 11.0: Ошибка выделения памяти

Изначально мне показалось, что проблема с нехваткой памяти для работы MSSQL сервера. Так что я пошел и отрегулировал ее потребление в настройках сервера. Но это не помогло. На следующий день пользователи опять периодически стали получать эту ошибку, хотя на сервере было достаточно свободной оперативной памяти. Стал разбираться дальше.

Неспецифицированная ошибка работы с ресурсом

Второй вариант текста той же самой ошибки выглядел следующим образом:

Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса GET к ресурсу /e1cib/cmi/commands:
Недостаточно свободной памяти для выполнения операции

Недостаточно свободной памяти для выполнения операции

После этого я уже понял, что проблема не в MSSQL сервере, а в самой 1С. Поиск в интернете и анализ ситуации на сервере привел к пониманию проблемы. Суть ее вот в чем. Сервер 1С создал рабочий процесс rphost, который обслуживает подключения к базам данных. В моем случае сервер 1С 32-х битный, так что он ограничен по максимальному использованию памяти одним рабочим процессом.

Решение проблемы «недостаточно свободной памяти для выполнения операции» в 1С

В общем случае данную проблему можно решить следующим образом. Открываем консоль управления кластером, идем в раздел Рабочие серверы, выбираем свой сервер и его свойства. Меняем 2 параметра:

Свойства рабочего сервера 1С

Чтобы проблема ушла, вам необходимо уменьшить значения. Определить оптимальные сходу вряд ли получится. Для начала можете их просто уменьшить вдвое, поставив 4 и 128 соответственно.

Количество ИБ на процесс и Количество соединений на процесс

Заключение

Если нет возможности изменить настройки из-за несоответствия лицензии, временно поможет перезапуск сервера 1С. Но работать он будет нормально до тех пор, пока очередной рабочий процесс не займет максимально возможную для себя память. На практике это в районе 3.5 Гб. После этого если не запустится новый рабочий процесс, новые подключения к базам будут невозможны. Придется раскошелиться на 64-х битный сервер.

Онлайн курс по Kubernetes

Онлайн-курс по Kubernetes – для разработчиков, администраторов, технических лидеров, которые хотят изучить современную платформу для микросервисов Kubernetes. Самый полный русскоязычный курс по очень востребованным и хорошо оплачиваемым навыкам. Курс не для новичков – нужно пройти вступительный тест.

Источники:

https://serveradmin. ru/1c-oshibka-pri-vypolnenii-zaprosa-post-k-resursu/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: