Администрирование · 9 мин
Реструктуризация базы данных 1С: что это и как выполнить без потери данных
Что такое реструктуризация базы данных 1С, когда она запускается, как подготовиться, сколько ждать и что делать при ошибках. Практическая инструкция.
Реструктуризация базы данных 1С — это процесс физического изменения структуры таблиц информационной базы после того, как разработчик изменил конфигурацию: добавил реквизит, изменил тип поля, удалил объект или переименовал справочник. Пока реструктуризация не завершена, пользователи не могут работать в обновлённой базе, а при неудачном завершении часть данных может оказаться недоступной.
Типичная ситуация: вы добавили в документ новый реквизит и нажали «Обновить конфигурацию базы данных» (F7). Платформа сравнивает конфигурацию базы данных с изменённой конфигурацией, строит список изменений и пересоздаёт таблицы SQL-сервера или файловой базы под новую структуру. Именно этот этап и называется реструктуризацией.
Процедура кажется простой, но на больших базах она занимает часы и несёт реальные риски: при сбое питания или нехватке места на диске таблица может остаться в промежуточном состоянии. Поэтому реструктуризацию планируют заранее, выполняют с резервной копией и контролируют результат.
Когда 1С запускает реструктуризацию
Не каждое изменение конфигурации приводит к реструктуризации. Платформа анализирует, затронуты ли хранимые данные. Добавление формы, макета, модуля или роли не меняет структуру таблиц — обновление проходит мгновенно. А вот изменения, влияющие на состав и типы полей, всегда требуют перестройки данных.
Реструктуризация запускается при добавлении или удалении реквизитов, измерений, ресурсов и табличных частей, изменении типа или длины поля, добавлении нового объекта метаданных (справочника, документа, регистра), изменении признаков учёта, а также при удалении объектов конфигурации. Переименование реквизита платформа трактует как удаление старого поля и создание нового — данные из него будут потеряны, если заранее не перенести значения.
Что происходит с данными во время реструктуризации
При обновлении конфигурации базы данных платформа показывает окно «Реорганизация информации» со списком таблиц, которые будут изменены. Для каждой таблицы создаётся новая структура, данные копируются в неё, после чего старая таблица заменяется новой. На время копирования объём базы фактически удваивается для затронутых таблиц.
В файловом варианте перестройка идёт средствами самой платформы и особенно чувствительна к размеру базы. В клиент-серверном варианте операции выполняет СУБД (MS SQL, PostgreSQL), и скорость зависит от ресурсов сервера: памяти, дисковой подсистемы, настроек журнала транзакций.
Во время реструктуризации база находится в монопольном режиме: пользователи не могут войти, фоновые задания останавливаются. Прерывание процесса на середине — главная причина повреждения таблиц, поэтому процедуру выполняют в нерабочее время и на стабильном оборудовании.
Подготовка: что сделать до запуска
Подготовка занимает больше времени, чем сама реструктуризация на небольших базах, но именно она определяет безопасность процедуры. Минимальный набор действий одинаков для файлового и клиент-серверного вариантов.
- 1Завершите работу всех пользователей и отключите регламентные задания
- 2Сделайте резервную копию: выгрузку в .dt через конфигуратор или бэкап средствами СУБД
- 3Проверьте свободное место на диске — нужен запас не меньше размера базы
- 4Выполните тестирование и исправление (chdbfl для файловой базы) при подозрении на ошибки
- 5Запустите обновление конфигурации базы данных с монопольным доступом (F7)
- 6Проверьте список изменений в окне «Реорганизация информации» и подтвердите
Если база рабочая и в ней ведётся учёт, реструктуризацию планируют на вечер или выходные. Для крупных баз имеет смысл сначала выполнить обновление на копии: это покажет реальную длительность и выявит возможные ошибки до того, как они коснутся рабочей системы.
Сколько длится реструктуризация и от чего это зависит
Точного норматива времени нет — длительность зависит от объёма изменяемых таблиц, производительности дисков, варианта работы (файловый или клиент-серверный) и характера изменений. Добавление реквизита в справочник на тысячу элементов проходит за секунды, а изменение регистра накопления с десятками миллионов записей может занять часы.
Ускорить процесс помогают простые меры: выполнять реструктуризацию на сервере с быстрыми дисками, предварительно удалить устаревшие данные (свернуть базу, очистить ненужные регистры), в клиент-серверном варианте — обеспечить достаточный размер журнала транзакций. Изменения, не затрагивающие большие таблицы, можно смело выполнять в любое время.
Если обновление типовой конфигурации затрагивает много объектов, полезно заранее посмотреть список изменённых таблиц в окне реорганизации. Когда в списке только «лёгкие» объекты — справочники и планы обмена — риски минимальны. Появление в списке крупных регистров накопления и бухгалтерии — повод перенести обновление на нерабочее время.
Ошибки при реструктуризации и как на них реагировать
Самые частые проблемы — нехватка места на диске, разрыв соединения с сервером 1С или СУБД и ошибки в данных, которые платформа не может преобразовать в новый формат. Внешне это выглядит как «зависшее» обновление или сообщение об ошибке с откатом изменений.
Как выбрать действие
После аварийного прерывания не пытайтесь сразу открыть базу и продолжить работу. Сначала оцените состояние: если база открывается, выполните тестирование и исправление, но надёжнее восстановиться из копии, сделанной до реструктуризации, и повторить процедуру в контролируемых условиях.
Как проверить результат после реструктуризации
Успешное завершение — это не только отсутствие ошибок в окне конфигуратора. Нужно убедиться, что данные на месте, а новая структура работает так, как задумано.
Как проверить результат
База открывается, пользователи работают
Ошибки при входе, сообщения о несоответствии версии
Поля видны в формах и заполняются
Реквизита нет или данные старого поля пусты
Документы проводятся, отчёты формируются без ошибок
Ошибки при проведении, пустые движения по регистрам
Нет ошибок за период обновления
Записи об ошибках реструктуризации или обрывах
Для критичных баз полезно прогнать регламентные проверки: свернуть итоги по ключевым регистрам, сформировать основные отчёты (оборотно-сальдовую ведомость, остатки склада) и сравнить их с копией до обновления. Совпадение итогов — лучшее подтверждение того, что реструктуризация прошла корректно.
Частые вопросы о реструктуризации 1С
Можно ли работать в базе во время реструктуризации?
Нет. Обновление конфигурации базы данных требует монопольного доступа: все сеансы завершаются, а новые блокируются до конца процедуры. Поэтому реструктуризацию планируют на нерабочее время.
Чем реструктуризация отличается от тестирования и исправления?
Реструктуризация меняет структуру таблиц под новую конфигурацию — это часть обновления. Тестирование и исправление — отдельный сервисный режим, который проверяет целостность существующих данных и устраняет ошибки, не меняя структуру.
Почему после переименования реквизита данные пропали?
Платформа воспринимает переименование как удаление старого поля и создание нового. Чтобы сохранить значения, добавьте новый реквизит, перенесите в него данные обработкой, обновите базу и только затем удаляйте старый реквизит.
Что делать, если реструктуризация «зависла»?
Сначала убедитесь, что процесс действительно остановился: проверьте нагрузку на диск и процессор, активность СУБД. Если запись на диск идёт — процесс работает, прерывать его опасно. Останавливать стоит только при полном отсутствии активности в течение длительного времени, и после этого восстанавливать базу из копии.
Нужна ли реструктуризация при обновлении типовой конфигурации?
Да, если новый релиз изменяет состав объектов, реквизитов или регистров — а в типовых релизах это почти всегда так. Платформа выполнит реструктуризацию автоматически при обновлении конфигурации базы данных.
Можно ли отменить реструктуризацию после завершения?
Отката штатными средствами нет. Единственный способ вернуть прежнее состояние — восстановить базу из резервной копии, сделанной до обновления, и загрузить прежнюю конфигурацию.
Что важно запомнить
Реструктуризация — это перестройка таблиц базы под изменённую конфигурацию, требующая монопольного доступа. Безопасная процедура строится на трёх правилах: резервная копия до старта, достаточно места на диске и никогда не прерывать процесс принудительно. После завершения проверьте данные, проведение документов и основные отчёты.