После обновления конфигурации база 1С перестала открываться. Как мы вытащили её через ibcmd без копии

03.11.26

База данных - Архивирование (backup)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

20 октября в 07:13 я запустил обновление конфигурации в рабочей базе ITEL. Через 15 секунд обновление упало, конфигуратор при входе стал спрашивать "При обновлении данных, после последней реструктуризации, произошла критическая ошибка. Повторить обновление?", а пользователи в базу больше не попадали.

В 08:10 люди снова работали. Данные не потеряли. Базу вытащили так: выгрузили в .dt через ibcmd прямо из базы, которая не открывалась, загрузили в новую базу на SQL Server и переключили на неё имя в кластере 1С. Сами выгрузка и загрузка заняли шесть с небольшим минут. Большая часть остального часа ушла на тупики.

Копии "до обновления" не было. Это главная ошибка, и она общая: моя и ИИ-агента Claude, который работал со мной на сервере.

 

Конфигуратор 8.3.17 при входе: при обновлении данных после последней реструктуризации произошла критическая ошибка, повторить обновление?

 

Что за база

Платформа 8.3.17.1549, клиент-серверный вариант, кластер и MS SQL Server 2019 на одном сервере. Конфигурация "Розница для Казахстана" 2.2 с доработками, данных около 3,5 ГБ. Около десяти пользователей работают через удалённый рабочий стол (RDP) прямо на этом сервере, тонким клиентом. Регламентное задание гоняет обмен с маркетплейсом.

На том же сервере под администратором стоял Claude Code. У него был доступ к SQL Server, к rac, 1cv8 и ibcmd.

Накануне Claude нашёл, что бэкапов нет

19 октября я разбирался, почему тормозит 1С. Причину Claude нашёл в тот же день: форма списка заказов с таймером на 30 секунд. Но в том же вечернем отчёте он записал и другое: последняя резервная копия ручная, от 25 сентября; база в полной модели восстановления без копий журнала, поэтому журнал транзакций дорос до 48 ГБ; заданий обслуживания нет вообще.

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

На утро 20 октября стояло обновление конфигурации. Обновляли, кстати, ради MCP-сервера в базе, то есть HTTP-сервиса, через который нейросеть ходит в 1С. Для того же Claude.

Как упало

Обновление запускал я сам, в конфигураторе. Claude его не выполнял. По журналу регистрации картина такая:

07:13:03  DBConfigUpdateStart       начало обновления конфигурации БД
07:13:09  PredefinedDataUpdate      "Выполняется обновление предопределенных данных"
07:13:18  DBConfigUpdateError       текста ошибки нет

В такой ситуации это первое, что надо выяснить: реструктуризация прошла. Упал следующий этап, обновление предопределённых данных. Текста ошибки платформа не записала.

В 07:19 по моей просьбе Claude сделал полную копию базы на SQL Server, уже сломанной. Заняло 23 секунды. Отката до обновления она не давала. Она давала другое: любой следующий шаг можно было отменить.

Что не помогло и почему

Перезапуск агента сервера 1С. Это была подсказка Claude: очистить серверный кэш. Я перезапустил службу агента сервера при открытом конфигураторе, и конфигуратор потерял сеанс:

 

Текущему соединению с информационной базой не назначен сеанс

 

Минут пятнадцать после этого мы разбирались с ошибкой, которую создали сами. Старый процесс ragent ещё и упал при остановке.

Повтор обновления. Первый ответ "Да" оборвал наш же перезапуск агента сервера. При следующей попытке мешал тонкий клиент пользователя, который сам переподключился к базе:

 

Ошибка разделённого доступа к информационной базе, активный сеанс тонкого клиента

 

Пакетный конфигуратор. 1cv8 DESIGNER /UpdateDBCfg отработал за 4 секунды и написал в лог одну строку: Infobase structure error.

Запрет регламентных заданий в консоли кластера. Не ставится: "Обнаружена незавершенная операция сохранения конфигурации". Этот флаг хранится в самой базе, а база не открывается. Блокировка сеансов ставится, она хранится в кластере.

Перезагрузка сервера в 07:40. Ошибка та же. Состояние сбоя записано в самой базе, перезагрузка его не трогает.

Три совета со стороны. Я приносил Claude советы из другой ИИ-сессии и из интернета. Снять лимиты памяти кластера: лимиты и так нулевые, рабочие процессы не падали. Перезапустить SQL Server: зависших сеансов 1С в нём не было. Третий совет пришёл из статьи про похожий сбой, и к нашему случаю он не подошёл. Каждый совет Claude сначала проверял по факту и только потом предлагал выполнять. Ни один не понадобился.

Apply через ibcmd. В 07:48 Claude нашёл в поставке платформы ibcmd: он работает с базой сам, без кластера и без сеансов. ibcmd infobase config apply ответил [FATAL] Обнаружена незавершенная операция сохранения конфигурации. Признак незавершённой операции хранится в самой базе, и штатного способа снять его на сломанной базе у платформы нет. Лезть в служебные таблицы мы не стали бы советовать никому.

Дальше вслепую ничего не трогали. Claude предложил бросить попытки починить старую базу изнутри и идти вперёд через выгрузку. По-моему, это лучшее решение того утра.

Что сработало: .dt из базы, которая не открывается

ibcmd выгружает базу, даже когда конфигуратор и клиент в неё не пускают: ему не нужен ни кластер, ни сеанс. Выгрузка заняла 105 секунд, файл 438 МБ. Имена сервера и баз ниже условные:

:: 1. Выгрузка в .dt из неоткрывающейся базы
ibcmd infobase dump --dbms=MSSQLServer --db-server=Server1C --db-name=DB01 ^
      --db-user=<sql_user> --db-pwd=<sql_pwd> D:\Backup\DB01_20261020.dt

:: 2. Новая база на SQL Server из этой выгрузки
::    date-offset=2000, как у исходной базы
ibcmd infobase create --dbms=MSSQLServer --db-server=Server1C --db-name=DB01_new ^
      --db-user=<sql_user> --db-pwd=<sql_pwd> --locale=ru_RU --date-offset=2000 ^
      --create-database --restore=D:\Backup\DB01_20261020.dt

Вторая команда работала 274 секунды. В нашей 8.3.17 у ibcmd нет параметра пользователя 1С, он работает на уровне СУБД, поэтому в командах только логин SQL.

Почему новая база открылась, а старая нет, я до конца не знаю. Что именно осталось сломанным в старой, мы так и не выяснили. В .dt уходят конфигурация и данные, а новая база собирается из них с нуля, и этого хватило.

Новую базу сначала зарегистрировали в кластере под тестовым именем и сразу запретили в ней регламентные задания, чтобы обмен с маркетплейсом не пошёл из двух баз одновременно:

:: 3. Тестовая регистрация, база СУБД уже есть, поэтому без --create-database
rac infobase create --cluster=<id> --name=Base01_new --dbms=MSSQLServer --db-server=Server1C ^
    --db-name=DB01_new --locale=ru --db-user=<sql_user> --db-pwd=<sql_pwd> ^
    --license-distribution=allow localhost:1545
rac infobase update --cluster=<id> --infobase=<id_new> ... --scheduled-jobs-deny=on localhost:1545

Проверка: пакетный конфигуратор с /UpdateDBCfg вернул код 0, а я зашёл в Base01_new в режиме Предприятия и посмотрел данные своими глазами. С базой всё было в порядке.

Переключение сделали так, чтобы у пользователей ничего не менялось: их строка подключения по-прежнему смотрит на Base01, а под этим именем в кластере теперь новая база СУБД.

:: 4. Убрать тестовую регистрацию, сама база СУБД остаётся
rac infobase drop --cluster=<id> --infobase=<id_new> ...
:: 5. Старому имени дать новую базу СУБД
rac infobase update --cluster=<id> --infobase=<id_Base01> ... --db-name=DB01_new localhost:1545
:: остановить RAS (сервер администрирования кластера) и агент сервера, удалить srvinfo\reg_1541\snccntx*, запустить агент, затем RAS
:: 6. Снять блокировки
rac infobase update ... --scheduled-jobs-deny=off --sessions-deny=off --permission-code=""

В 08:10 пользователи работали. Простой от сбоя до этой минуты 57 минут. Данные не потеряли, потому что после 07:13 в базе никто ничего не вводил. Старую базу DB01 оставили на SQL Server страховкой.

Ошибки Claude, по порядку цены

Первая и главная: накануне он сам нашёл, что копий нет, и подготовил скрипты. Отложить их решил я. Но утром перед обновлением Claude знал про эту дыру и не настоял на копии. Копию не сделал никто.

Вторая: совет перезапустить агент сервера 1С. При открытом конфигураторе это добавило ошибку "не назначен сеанс" и пятнадцать минут путаницы.

Уже после аварии Claude включал технологический журнал и поставил порог длительности в микросекундах. А duration в logcfg.xml задаётся в десятитысячных долях секунды (проверяли на 8.3.17), и за десять минут журнал не записал ничего. Заметил это Claude сам и исправил.

Делили мы работу так. Каждое изменение на рабочей базе шло только после моего "да", кнопки в конфигураторе и консоли кластера нажимал я, в Предприятии базу проверял тоже я. Claude читал то, что мне быстро не прочитать: журнал регистрации, журналы Windows, вывод rac. Он проверял чужие советы до того, как их выполнять, и выполнял длинные команды. Решения на продуктиве оставались за мной.

Что поменяли после

В тот же день Claude завёл задания SQL Server Agent: полная копия каждый день в 23:00, копия журнала каждый час, статистика, индексы, проверка целостности. Хранение 14 дней на отдельном диске. Теперь базу можно поднять на любой момент за две недели, в том числе на минуту до обновления.

22 октября было ещё два изменения в той же базе, обновление формы и пересчёт итогов. Перед каждым Claude сначала делал копию.

Если это случилось у вас

  1. Не перезапускать агент сервера 1С при открытом конфигураторе и не перезагружать сервер в надежде, что пройдёт. Сбой записан в базе, а перезапуск только добавит "не назначен сеанс".
  2. Сразу сделать полную копию текущего состояния базы, даже сломанного.
  3. Один раз чисто повторить обновление: заблокировать начало сеансов в консоли кластера с кодом разрешения и зайти в конфигуратор с /UC и этим кодом.
  4. Не помогло - открыть журнал регистрации и найти, на каком этапе упало. Если структура уже применена, не тратить время на починку старой базы изнутри: ibcmd infobase dump, затем ibcmd infobase create --restore в новую базу, проверка под тестовым именем, переключение имени в кластере.
  5. Старую базу СУБД не удалять, пока новая не проработает неделю.

И раньше всех этих пунктов: копия перед обновлением. Без неё откат невозможен, остаётся только путь вперёд.

Как проверить у себя до обновления

Отчёт Claude 19 октября про копии был, и копию всё равно не сделали. Отчёт сам ничего не решает, решает правило: без свежей копии обновление не запускаем. Проверить это правило за минуту на любой базе, без ИИ на сервере, можно обработкой Чек-ап СУБД под 1С. Она показывает, сколько часов назад сделана последняя полная копия базы, и отдельной строкой ловит полную модель восстановления без копий журнала, с вердиктом "чинить". Ровно эти две дыры были у нас. На том сервере мы её не запускали, Claude дошёл до них сам.

Мне интересно, как это устроено у вас. Перед обновлением конфигурации копию делает человек или регламент? И встречал ли кто-нибудь эту "критическую ошибку после реструктуризации" на платформах новее 8.3.17?

Обработка из этой статьи: Чек-ап СУБД под 1С.

Другие наши инструменты для администратора 1С:

  • Журнал транзакций переполнен - если журнал транзакций дорос до десятков гигабайт, как наши 48 ГБ: показывает, что его держит и что с этим делать.
  • Журнал регистрации для нейросети - именно по журналу регистрации мы поняли, на каком этапе упало обновление. Обработка задаёт журналу готовые вопросы и не читает его целиком.
  • Повреждение базы 1С на MS SQL - другой класс аварии: проверка целостности нашла ошибки. Показывает, какие объекты 1С задеты и что поднимать из копии.
  • Чек-ап сервера 1С - нам советовали снять лимиты памяти кластера, а они и так были нулевые. Чек-ап сервера показывает такие настройки кластера и рабочих процессов одним списком, с последствием по каждой.

Вступайте в нашу телеграмм-группу Инфостарт

ошибка после реструктуризации повторить обновление база 1С не открывается после обновления ibcmd infobase dump выгрузка dt без конфигуратора Infobase structure error незавершенная операция сохранения конфигурации rac infobase update восстановление базы 1С

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS! Версия 1.4 от 28.05.2026

7320 руб.

06.11.2012    80374    635    45    

94

Рефакторинг и качество кода Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

На проекте сложного обновления 1С:ERP 2.4.14.181 до версии 2.5.22.106 нам было нужно уложить обновление в технологическое окно 48 часов (выходные). Исходный замер, с учетом промежуточных релизов 2.5.8.443, 2.5.12.270, 2.5.17.234, 2.5.22.106, показал требуемое время в 659 часов…

07.07.2026    6822    1c-izh    21    

22

Обновление 1С Разработчик 1С 8.3 Россия Бесплатно (free)

Внешняя обработка для проверки методов расширений с директивами &Вместо, &Перед, &После и &ИзменениеИКонтроль после обновления типовой конфигурации. Обработка анализирует файловые выгрузки старой и новой конфигурации, автоматически определяет изменившиеся типовые методы и формирует список методов расширения, требующих проверки.

25.06.2026    2444    175    akeeela    8    

19

Нейросети Обновление 1С Бесплатно (free)

Когда доработанную 1С не обновляли годами, начинать приходится не с переноса кода, а с разбора того, что вообще накопилось в базе. Там могут быть десятки обработок, расширения, правки типовых объектов, а документации либо нет, либо она давно не актуальна. На примере реального обновления разбираем, как кодовые агенты, MCP-серверы и языковые модели помогают навести порядок в доработках, собрать план миграции, понять, где при переносе будут проблемы, и автоматизировать часть исправлений.

05.06.2026    9405    wonderboy    6    

30

Обновление 1С Разработчик 1С 8.3 Россия Бесплатно (free)

При разработке тиражного прикладного решения или при использовании автоматизации сборки вам потребуется механизм создания файлов поставки. В статье приведена шпаргалка по работе с ним.

11.02.2026    5417    AntonovaElena    9    

19

Архивирование (backup) Инструменты администратора БД Системный администратор Разработчик 1С 8.3 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Абонемент ($m)

Полностью автоматизированная внешняя обработка для администрирования 1С: блокировка/разблокировка ИБ, массовое завершение сеансов, резервное копирование и восстановление из .dt, выгрузка/загрузка конфигурации (.cf), пакетная работа с расширениями (.cfe) и дополнительными обработками – всё через удобную форму без ручных запусков конфигуратора и консоли кластера

1 стартмани

21.01.2026    6492    66    war41k    0    

18

EDT Обновление 1С Разработчик Бесплатно (free)

На примере рассмотрим одну из стратегий обновления проекта на новый релиз поставщика через 1С:EDT.

19.01.2026    9539    eakomarov    12    

26
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sorm 149 03.11.26 19:58 Сейчас в теме
"Копии "до обновления" не было. Это главная ошибка, и она общая: моя и ИИ-агента Claude, который работал со мной на сервере"
Тут еще фразы не хватает - "Вот какой негодяй Claude - базу не сохранил, обновление запустил, базу уронил, а потом я героически ее спас!"
ИИ-агента Claude можно вычеркнуть этой фразы.
В остальном - без бэкапа начать обновлять боевую базу??!...Я лучше промолчу.
Tochka-Scarab; Xershi; +2 – Ответить
2. vis_tmp 33 03.11.26 20:24 Сейчас в теме
(1) Модное увлечение ИИ...
4. Sorm 149 03.11.26 20:37 Сейчас в теме
(2) Проблема в том, что на ИИ, который заведомо не гарантирует полностью исполнения каких-то задач из-за самой своей природы(!) вешают очень важные шаги, после которых могут произойти катастрофы. Каждый, кто работает с ИИ, понимает, что скрипт - надежнее, он детерминирован, а ИИ - нет.
Ну как можно без бэкапа делать боевую базу, да еще после этого обвинять в этом ИИ?:):) И при чем здесь ИИ?
Не было бы ИИ, накатывали бы на боевую базу и получили бы катастрофу. Потому что вытащили бы сами - неизвестно...
.
Tochka-Scarab; KOTzilla; Xershi; Ninel_S; +4 – Ответить
5. Ninel_S 214 03.11.26 20:42 Сейчас в теме
(4) Согласна с Вами целиком и полностью, но подушка безопасности (airbag) спасла и ещё спасет сотни тысяч "забывших" пристегнуться ремнем ...
3. Ninel_S 214 03.11.26 20:32 Сейчас в теме
Коллега, Вы очень честно показали не рафинированное «лабораторное» восстановление, а реальную аварийную ситуацию: после обновления конфигурации база перестала открываться, пригодной копии не оказалось, и потому пришлось искать путь к данным через ibcmd. Особенно ценно, что публикация не ограничивается счастливым финалом, а позволяет проследить саму логику спасения базы, когда стандартные способы уже не помогают и каждое следующее действие нужно выбирать осторожнее предыдущего. Спасибо за этот разбор: после него ibcmd воспринимается уже не как нечто экзотическое в консоли, но как практический аварийный инструмент (о котором следует знать до того, как он понадобится).
Поставила "плюс" и положила себе в избранное.
_alex1974; +1 –1 Ответить
6. Xershi 1566 03.11.26 21:14 Сейчас в теме
Сразу видно 0 уровень работы с 1С. Повезло что смогли восстановить.
В остальном все печально.
Но и это радует, молодым специалистам будут давать рутину, а профессионалам сложные задачи, когда уже караул и ломить ценник можно легко.
viktor3d; Tochka-Scarab; andrew.ab; Sorm; +4 – Ответить
7. CTDEVIce 4 05.11.26 05:40 Сейчас в теме
Это известная ошибка, в инете есть способы ее решения непосредственно через SQL. Там в таблице Config нужно удалить одну запись с соответствующим условием. Без регистрации и ИИ. :))))
Tochka-Scarab; +1 – Ответить
8. KOTzilla 23 05.11.26 07:56 Сейчас в теме
(7)
DELETE FROM   [dbo].[Config]
WHERE   [FileName] IN ('commit', 'dbStruFinal', 'dynamicCommit');

типа такого? Я еще ловил глюк, что после запуска, база оставалась в монопольном режиме и возвращал многопользовательский режим
ALTER   DATABASE [Имя_Вашей_Базы] SET   MULTI_USER;
viktor3d; Tochka-Scarab; +2 – Ответить
9. CTDEVIce 4 05.11.26 08:00 Сейчас в теме
(8) Да, похоже что оно.
10. _alex1974 09.11.26 11:50 Сейчас в теме
Все эти упражнения на пустой базе (3.5 Гб и десяток пользователей) были бы забавны, если бы не так грустны. Посмотрел бы я на эти выгрузки хотя бы в 2-3 Тб и с парой сотен злых пользователей.
Особенно по-детски выглядят обвинения в адрес ИИ - "не настоял на включении бэкапа"

Если по существу: принятый план бэкапа - норм. Если будут потери, их можно при ваших объемах наколотить вручную.
Что касается расписания бэкапов относительно обновлений: самое эффективное это поставить обновление рабочей базы автоматом, при этом проверять успешность прошедшего перед этим бэкапа, если не прошел - оповещения.
Есть более продвинутый вариант вариант проверки бэкапа - сразу разворачивать его в свежую копию (она всегда пригодится) и проверять её на работоспособность.
Для отправки сообщения требуется регистрация/авторизация