Администрирование · 10 мин
Как сохранить базу 1С перед обновлением
Как сделать резервную копию базы 1С перед обновлением: выгрузка через конфигуратор, копирование файловой базы, бэкап SQL Server, проверка копии и типичные ошибки.
Обновление конфигурации 1С — одна из немногих операций, которая изменяет структуру самой базы данных необратимо. Если что-то пойдёт не так — отключится электричество, обновление остановится с ошибкой, новая версия окажется несовместимой с доработками — откатиться без резервной копии будет невозможно. Поэтому сохранение базы перед обновлением — не формальность, а обязательный шаг, который занимает от нескольких минут до пары часов в зависимости от размера базы.
Способ создания копии зависит от того, как развёрнута ваша система: файловая база на локальном компьютере или сервере, либо клиент-серверный вариант на SQL Server, PostgreSQL или другой СУБД. Для файловой базы достаточно выгрузки через конфигуратор или простого копирования файла, для клиент-серверной нужны средства СУБД. Ниже разобраны все рабочие варианты и способы проверить, что копия действительно пригодна для восстановления.
Зачем нужна копия и что именно нужно сохранить
Обновление конфигурации выполняет реструктуризацию базы: добавляет и изменяет таблицы, переносит данные в новые форматы, иногда удаляет устаревшие объекты. Этот процесс идёт в одну сторону — вернуть базу к прежней версии конфигурации штатными средствами нельзя. Единственный способ отката — восстановление из копии, сделанной до начала обновления.
Сохранить нужно саму информационную базу — данные и конфигурацию вместе. Выгрузка только данных через обработки переноса или сохранение только файла конфигурации (.cf) полноценной копией не является: так вы не сможете быстро вернуть рабочее состояние системы. Полноценная копия — это файл выгрузки .dt, копия файла 1Cv8.1CD для файловой базы или полный бэкап базы данных на стороне СУБД.
Отдельно стоит позаботиться о внешних файлах, если они хранятся вне базы: например, о каталоге с присоединенными файлами, шаблонами печатных форм, настройками интеграций. Их потеря не сломает базу, но нарушит работу пользователей после восстановления.
Подготовка: что сделать до создания копии
Главное условие корректной копии — чтобы во время её создания никто не работал с базой. Если пользователи продолжают проводить документы, часть данных может попасть в копию в несогласованном состоянии, а в файловом варианте выгрузка вообще не запустится при активных сеансах. Заранее предупредите сотрудников о времени остановки работы.
Порядок подготовки выглядит так: завершите работу всех пользователей, отключите регламентные и фоновые задания (в клиент-серверном варианте — через консоль заданий или блокировку сеансов в консоли кластера), убедитесь, что нет запущенных обменов данными с другими системами. После этого проверьте свободное место на диске: файл выгрузки обычно занимает заметно меньше размера базы, но запас должен быть с учётом того, что рядом могут храниться предыдущие копии.
- 1Предупредите пользователей о времени остановки работы
- 2Завершите все активные сеансы и заблокируйте новые подключения
- 3Остановите регламентные и фоновые задания
- 4Проверьте свободное место на диске под файл копии
- 5Убедитесь, что обмены данными с другими системами не запущены
Выгрузка базы через конфигуратор (файл .dt)
Универсальный способ, который работает и для файловых, и для клиент-серверных баз, — выгрузка информационной базы через конфигуратор. Откройте базу в режиме «Конфигуратор» под пользователем с полными правами, перейдите в меню «Администрирование» и выберите пункт «Выгрузить информационную базу». Укажите путь и имя файла — удобно включать в имя дату, например buh_2026-05-15.dt, чтобы потом не путаться в копиях.
Дождитесь окончания выгрузки: для базы в несколько гигабайтов это может занять десятки минут. Не закрывайте конфигуратор и не выключайте компьютер до появления сообщения об успешном завершении. После этого проверьте, что файл появился в указанной папке и его размер не равен нулю.
Имейте в виду ограничение: выгрузка .dt для очень больших клиент-серверных баз (десятки и сотни гигабайт) идёт долго и требует много ресурсов. В таких случаях основной копией должен быть бэкап средствами СУБД, а .dt — дополнительной страховкой, если объём позволяет.
Копирование файловой базы напрямую
Если база файловая, есть более быстрый способ: скопировать сам файл базы. Найдите каталог базы (путь виден в списке баз при запуске 1С, внизу окна выбора) и скопируйте файл 1Cv8.1CD в отдельную папку или на внешний носитель. Можно копировать весь каталог целиком — тогда сохранятся и служебные файлы.
Условие то же: все пользователи должны выйти из базы, иначе файл может быть заблокирован или скопируется в несогласованном состоянии. Если копирование не начинается с ошибкой «файл занят», значит, кто-то ещё работает — найдите сеанс и завершите его.
Копирование файла быстрее выгрузки в .dt, особенно на больших файловых базах, но у способа есть нюанс: восстановление возможно только в файловый вариант, тогда как .dt можно загрузить и в клиент-серверную базу. Для надёжности многие делают обе копии.
Способы сохранения базы
Универсально: подходит для файловых и клиент-серверных баз, копию можно загрузить в любой вариант развёртывания. Минус — медленно на больших базах.
Быстро и просто, но только для файловых баз. Восстановление возможно лишь в файловый вариант.
Оптимально для клиент-серверных баз любого размера. Требует доступа к серверу БД и навыков администрирования СУБД.
Резервное копирование клиент-серверной базы
В клиент-серверном варианте данные хранятся в СУБД, и самый надёжный способ — полный бэкап базы её штатными средствами. Для Microsoft SQL Server это команда BACKUP DATABASE через SQL Server Management Studio или скрипт; для PostgreSQL — утилита pg_dump или pg_dumpall. Такой бэкап создаётся быстро, не требует остановки сервера 1С надолго (хотя сеансы всё равно лучше завершить) и гарантированно содержит всё содержимое базы.
Пример команды для MS SQL Server:
BACKUP DATABASE [MyBase1C] TO DISK = N'D:\Backups\MyBase1C_before_update.bak' WITH FORMAT, COMPRESSION;Для PostgreSQL полный дамп одной базы создаётся так:
pg_dump -U postgres -F c -f /backups/mybase_before_update.dump mybase1cДаже при наличии бэкапа на стороне СУБД имеет смысл дополнительно сделать выгрузку .dt, если размер базы позволяет: это страховка на случай проблем с самой СУБД или необходимости поднять копию на другом сервере с другой версией платформы.
Как проверить, что копия рабочая
Созданный файл копии — ещё не гарантия восстановления. Перед обновлением потратьте несколько минут на проверку. Минимум — убедитесь, что файл существует, имеет правдоподобный размер (сопоставим с размером базы или предыдущих выгрузок) и дата создания соответствует текущей.
Лучший способ проверки — тестовая загрузка. Создайте новую пустую базу в списке баз 1С, откройте её в конфигураторе и выполните «Администрирование → Загрузить информационную базу», указав файл .dt. Если загрузка завершилась без ошибок и база открывается в режиме предприятия, копия рабочая. Для бэкапов СУБД аналогичная проверка — восстановление в тестовую базу с другим именем.
Как проверить результат
Файл существует, размер правдоподобный, дата создания — сегодняшняя
Файл отсутствует, нулевого размера или слишком мал по сравнению с базой
Загрузка завершается без ошибок, база открывается в режиме предприятия
Ошибки при загрузке, база не открывается или открывается с пустыми данными
Копия лежит на другом диске, сетевом хранилище или внешнем носителе
Единственная копия — на том же диске, что и рабочая база
Типичные ошибки и частые вопросы
Большинство проблем с восстановлением возникает не из-за сбоев при обновлении, а из-за ошибок на этапе создания копии. Разберите типовые ситуации заранее, чтобы не повторять чужой опыт.
После успешного обновления не спешите удалять копию: понаблюдайте за работой базы хотя бы несколько дней. Некоторые проблемы — например, ошибки в отчётах или обменах — проявляются не сразу. Копию стоит хранить до тех пор, пока вы не убедитесь, что новая версия работает стабильно.
Что важно запомнить
Перед обновлением завершите все сеансы, выгрузите базу в файл .dt через конфигуратор или сделайте бэкап средствами СУБД, перенесите копию на другой носитель и проверьте её тестовой загрузкой. Только после этого запускайте обновление.
Можно ли обновлять 1С без резервной копии, если база небольшая?
Технически можно, но риск не оправдан даже для маленькой базы. Сбой при реструктуризации способен повредить базу любого размера, а восстановить её без копии невозможно. Выгрузка небольшой базы занимает несколько минут — это дешёвая страховка.
Чем отличается выгрузка .dt от копирования файла базы?
Файл .dt — это логическая выгрузка, которую можно загрузить и в файловую, и в клиент-серверную базу, в том числе на другой версии платформы. Копия файла 1Cv8.1CD — это побайтовая копия, пригодная только для файлового варианта. Для надёжности перед обновлением лучше иметь обе.
Нужно ли делать копию, если настроено автоматическое резервное копирование?
Да, желательно сделать отдельную копию непосредственно перед обновлением. Регламентный бэкап мог быть создан давно, и при откате вы потеряете данные за период с момента его создания. Копия «здесь и сейчас» фиксирует актуальное состояние базы.
Сколько места нужно для файла выгрузки .dt?
Файл .dt обычно заметно меньше размера самой базы, так как данные в нём сжаты, но точное соотношение зависит от содержимого. Ориентируйтесь на размер предыдущих выгрузок, а если их нет — обеспечьте свободное место, сопоставимое с размером базы, с запасом.
Что делать, если обновление завершилось ошибкой, а копии нет?
Не предпринимайте поспешных действий и не запускайте повторное обновление. Попробуйте восстановить базу из любых доступных источников: регламентных бэкапов СУБД, теневых копий тома, резервных копий на сервере. Если ничего нет — обратитесь к специалисту по восстановлению данных 1С, так как самостоятельные эксперименты могут усугубить повреждения.
Как часто нужно делать резервные копии помимо обновлений?
Оптимально — ежедневно автоматически, с хранением нескольких последних копий на отдельном носителе или в сетевом хранилище. Для активно используемых баз имеет смысл настроить бэкапы средствами СУБД по расписанию, а выгрузки .dt делать перед любыми рискованными операциями: обновлениями, массовыми загрузками данных, свёрткой базы.