Резервная копия перед обновлением 1С: файловая и серверная база, проверка и хранение
Содержание
Чтобы сохранить базу
1С перед обновлением, сделайте выгрузку в файл .dt: откройте базу в Конфигураторе и выберите Администрирование → Выгрузить информационную базу…. Этот способ работает для файловой и для серверной базы. Для файловой базы дополнительно можно скопировать каталог с файлом 1Cv8.1CD, для серверной — сделать бэкап средствами СУБД.
Копия перед обновлением нужна по простой причине: обновление меняет структуру данных, и откатить его кнопкой «Отмена» нельзя. Если обновление прервётся на середине или после него поедут остатки, вернуть базу можно только из копии. Сделанной до того, как вы нажали «Обновить».
1. Как понять, какая у вас база, и выбрать способ копирования
Способ резервного копирования зависит от варианта работы базы. Посмотреть его можно двумя путями:
- В окне запуска 1С выделите базу. Внизу окна появится строка подключения.
- В самой программе откройте
О программе(значок?или меню с тремя полосками в заголовке). В строке «Информационная база» указано то же самое.
Как читать строку:
- 📁
File="D:\Bases\Buh"— файловая база. Все данные лежат в одном файле1Cv8.1CDв этом каталоге. - 🖥️
Srvr="srv1c";Ref="buh"— клиент-серверная база . Данные хранятся в СУБД (MS SQL Server или PostgreSQL) на сервере. - 🌐
ws="https://…"— подключение через веб-публикацию. Сама база может быть любой, уточните у администратора, где она физически.
| Способ | Файловая база | Серверная база | Что сохраняется |
|---|---|---|---|
Выгрузка .dt из Конфигуратора | ✅ | ✅ | Конфигурация, данные, пользователи |
Копия файла 1Cv8.1CD | ✅ | — | Вся база «как есть» |
| Встроенное резервное копирование в программе | ✅ | — | Архив с файлом базы |
| Бэкап средствами MS SQL / PostgreSQL | — | ✅ | Вся база данных СУБД |
Перед крупным обновлением (смена редакции, переход через несколько релизов) делайте две копии разными способами. Например, .dt плюс бэкап СУБД. Если один файл окажется битым, второй выручит.
2. Резервное копирование файловой базы 1С
Для файловой базы есть три рабочих способа. Самый надёжный — выгрузка .dt, самый быстрый — копия каталога.
Способ 1. Выгрузка в файл .dt
- Попросите всех пользователей выйти из базы. Проверить, кто остался, можно в Конфигураторе:
Администрирование → Активные пользователи. - Запустите базу в режиме
Конфигуратор. - Выберите
Администрирование → Выгрузить информационную базу…. - Укажите каталог и имя файла, например
Buh_pered_obnovleniem.dt. НажмитеСохранить. - Дождитесь сообщения о завершении выгрузки. Для базы в 5–10 ГБ это обычно от нескольких минут до получаса.
Выгрузка .dt не зависит от варианта работы. Файл, снятый с файловой базы, можно загрузить в серверную, и наоборот. Это удобно, если потом понадобится развернуть копию на другом компьютере.
Если во время выгрузки кто-то продолжает вводить документы, их изменения могут не попасть в копию. Выгружайте, когда в базе никого нет.
Способ 2. Копия каталога с файлом 1Cv8.1CD
- Убедитесь, что все пользователи вышли из базы, включая фоновые сеансы и обмены по расписанию.
- Откройте каталог базы из строки
File=…. - Скопируйте файл
1Cv8.1CDв другое место. Остальные файлы и папки (1Cv8Log, служебные файлы) копировать необязательно, но журнал регистрации из1Cv8Logпригодится для разбора проблем.
Не копируйте файл 1Cv8.1CD, пока в базе работают люди: копия может оказаться несогласованной и не открыться.
Признак того, что база занята, — в каталоге рядом с 1Cv8.1CD лежит файл 1Cv8tmp.1CD или открыт сеанс в списке активных пользователей.
Способ 3. Встроенная функция программы
В типовых конфигурациях на файловом варианте (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие на БСП) есть свой механизм: Администрирование → Обслуживание → Резервное копирование и восстановление. Там можно сделать копию сразу или настроить расписание.
Программа сама завершит работу, запустит копирование и откроется снова. Копия сохраняется архивом в указанный каталог. В клиент-серверном варианте этот пункт предложит использовать средства СУБД.
Помощник обновления программы в файловой базе тоже умеет создавать резервную копию перед установкой релиза. Проверьте, что этот флажок включён, и запомните каталог, куда копия ляжет.
3. Как сохранить серверную базу 1С: .dt и бэкап СУБД
Для клиент-серверной базы есть два варианта: выгрузка .dt и резервная копия базы данных в СУБД.
Выгрузка .dt для серверной базы
Порядок тот же, что для файловой базы: Конфигуратор → Администрирование → Выгрузить информационную базу…. Перед этим попросите пользователей выйти и отключите регламентные задания, чтобы обмены не писали в базу во время выгрузки.
Регламентные задания отключаются в консоли администрирования серверов 1С: откройте свойства информационной базы и включите флажок «Блокировка регламентных заданий включена». Там же можно установить блокировку начала сеансов с сообщением для пользователей и кодом разрешения, чтобы никто не зашёл в базу посреди копирования.
Блокировка сеансов не выгоняет тех, кто уже работает: их сеансы завершаются по истечении заданного времени, несохранённые документы будут потеряны. Предупредите людей заранее и ставьте блокировку в обед или после работы.
Для больших баз (от 50–100 ГБ) выгрузка .dt идёт долго и нагружает сервер. Здесь бэкап СУБД заметно быстрее.
Бэкап в MS SQL Server
Через SQL Server Management Studio: правой кнопкой по базе → Tasks → Back Up…, тип Full. Или запросом:
BACKUP DATABASE [buh]
TO DISK = N'D:\Backup\buh_pered_obnovleniem.bak'
WITH COPY_ONLY, CHECKSUM, STATS = 10;
Что здесь важно:
- 🔹
COPY_ONLY— внеплановая копия не ломает цепочку разностных бэкапов, если у вас настроен план обслуживания. - 🔹
CHECKSUM— сервер проверяет контрольные суммы страниц при записи. - 🔹 Параметр
COMPRESSIONуменьшает файл в несколько раз, но в редакции Express он недоступен.
Имя базы в SQL может не совпадать с именем базы в кластере 1С. Его видно в свойствах информационной базы в консоли администрирования серверов 1С, поле «База данных».
Бэкап в PostgreSQL
Для PostgreSQL используйте pg_dump в формате custom:
pg_dump -U postgres -Fc -f /backup/buh_pered_obnovleniem.backup buh
Формат -Fc сжат и позволяет восстанавливать выборочно через pg_restore. На Windows путь укажите в виде D:\Backup\buh.backup, а pg_dump.exe запускайте из папки bin установленного PostgreSQL.
Снимайте копию той же версией pg_dump, что и сервер PostgreSQL, или более новой. Старая утилита может отказаться работать с новым сервером.
4. Автоматизация копирования перед обновлением
Если обновлений много (несколько баз, ежемесячные релизы), ручную выгрузку удобно заменить скриптом.
Пакетный файл для выгрузки .dt
Платформа умеет выгружать базу из командной строки. Пример для файловой базы:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set DT=E:\Backup\Buh_%date:~6,4%-%date:~3,2%-%date:~0,2%.dt
%V8% DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "%DT%" /Out "E:\Backup\dump.log" /DisableStartupMessages
Для серверной базы вместо /F "D:\Bases\Buh" укажите /S "srv1c\buh". Номер версии платформы в пути замените на свой. Результат выгрузки смотрите в журнале из параметра /Out.
Пароль в bat-файле лежит открытым текстом. Создайте для выгрузки отдельного пользователя с правами администратора и храните скрипт в папке, к которой нет доступа у обычных сотрудников.
Разбор даты через %date% зависит от региональных настроек Windows. Проверьте, что имя файла получается правильным, прежде чем ставить скрипт в Планировщик заданий.
Планы обслуживания СУБД
- 🗄️ MS SQL Server:
Management → Maintenance Plansв Management Studio. Задача «Back Up Database» по расписанию. В редакции Express агента нет — используйте Планировщик заданий Windows иsqlcmd. - 🐘 PostgreSQL:
pg_dumpв скрипте плюс Планировщик заданий Windows илиcronна Linux. - 📂 Копия файла
1Cv8.1CD:robocopyпо расписанию в нерабочее время, когда в базе гарантированно никого нет.
Регулярное расписание не отменяет ручной копии прямо перед обновлением. Ночной бэкап мог быть снят 15 часов назад, а за день в базу внесли сотню документов.
5. Проверка резервной копии: откроется ли она
Файл копии ещё не гарантирует, что из него получится восстановить базу. Проверка занимает 10–20 минут и избавляет от неприятного сюрприза в момент, когда копия реально понадобится.
Проверка файла .dt
- В окне запуска 1С создайте новую пустую базу:
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Откройте её в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базу…и укажите ваш.dt. - После загрузки запустите базу в режиме 1С:Предприятие и проверьте данные.
Загружайте .dt только в пустую тестовую базу. Загрузка в рабочую базу полностью заменит её содержимое.
Проверка бэкапа СУБД
- MS SQL:
RESTORE VERIFYONLY FROM DISK = N'D:\Backup\buh_pered_obnovleniem.bak' WITH CHECKSUM;проверяет, что файл читается. Полная проверка — восстановить его в базу с другим именем и подключить к кластеру 1С как отдельную информационную базу. - PostgreSQL:
pg_restore --list файл.backupпокажет оглавление архива. Полная проверка — восстановить в новую базу черезpg_restore -d.
Что сверить в восстановленной копии
Тестовую копию после проверки не удаляйте сразу. Если после обновления в рабочей базе что-то изменилось в отчётах, удобно сравнить с копией «до».
6. Хранение и ротация резервных копий
Копия, лежащая на том же диске, что и база, защищает от неудачного обновления, но не от отказа диска или шифровальщика. Для копий перед обновлением хватает простого правила.
Где хранить
- 💾 Минимум две копии в разных местах: локальный диск сервера и внешний носитель или сетевое хранилище.
- ☁️ Одна копия — вне офиса: облачное хранилище или отдельный сервер. Шифровальщик, попавший в сеть, зашифрует все доступные сетевые папки.
- 🔒 Архивы с копиями закрывайте паролем, если они уходят за пределы компании: в базе персональные данные сотрудников и контрагентов.
Сколько копий держать
| Тип копии | Сколько хранить | Когда удалять |
|---|---|---|
| Копия прямо перед обновлением | До следующего обновления | После того как новая версия отработала месяц без проблем |
| Ежедневные копии | 7–14 штук | Самые старые — по мере появления новых |
| Копия на конец месяца | 12 штук | Через год |
| Копия на конец года | Не удалять | После истечения сроков хранения учётных данных |
Называйте файлы так, чтобы по имени было понятно, что это за копия: Buh_2026-10-07_pered_3.0.xx.dt. Через три месяца никто не вспомнит, чем файл backup1.dt отличается от backup_new.dt.
Следите за свободным местом. Если диск с копиями заполнится, ночное задание завершится с ошибкой, и вы узнаете об этом только тогда, когда копия понадобится.
7. Ошибки, из-за которых копия не спасает
- ❌ Копия сделана после начала обновления. Помощник уже успел поменять конфигурацию, и «копия» содержит половину нового релиза. Сохраняйте базу до запуска обновления, а не после первой ошибки.
- ❌ Скопирован 1Cv8.1CD при работающих пользователях. Файл копируется без ошибки, но при открытии база сообщает о повреждении.
- ❌ Сохранена только конфигурация. Файл
.cfиз пунктаКонфигурация → Сохранить конфигурацию в файл…содержит только метаданные, без документов и справочников. Для отката он бесполезен. - ❌ Забыты внешние файлы. Внешние отчёты и обработки, хранящиеся отдельными файлами
.erf/.epf, в.dtне попадают. Если после обновления они перестанут работать, понадобятся исходные версии. - ❌ Бэкап SQL без COPY_ONLY в середине цепочки. Следующие разностные копии будут опираться на ваш внеплановый бэкап, и если его удалить, восстановиться по цепочке не получится.
- ❌ Копия ни разу не проверялась. Битый архив обнаруживается в самый неудобный момент.
8. Частые вопросы
Нужен ли монопольный режим для выгрузки .dt?
Сколько места займёт файл .dt?
Можно ли вернуть базу без копии, если обновление прошло неудачно?
Как откатить обновление из копии .dt?
Администрирование → Загрузить информационную базу…. Загрузка требует монопольного доступа и полностью заменит текущее содержимое. Перед загрузкой сохраните и текущее состояние: вдруг понадобятся документы, введённые после обновления.