Резервная копия информационной базы 1С 8.3: от выгрузки .dt до бэкапа СУБД и проверки восстановления
Содержание
Самый простой способ сделать архивную копию базы
1С — открыть Конфигуратор
и выбрать Администрирование → Выгрузить информационную базу. Получится один файл .dt с конфигурацией и всеми данными, его можно загрузить в любую пустую базу.
Это не единственный вариант. Для файловой базы быстрее скопировать папку с файлом 1Cv8.1CD. Для клиент-серверной базы надёжнее штатный бэкап СУБД — MS SQL или PostgreSQL. Бухгалтеру на небольшой базе хватит встроенной обработки резервного копирования в самой программе. Ниже — как сделать копию каждым способом и как убедиться, что из неё реально можно восстановиться.
Какой способ архивации 1С выбрать
Способы отличаются скоростью, требованиями к доступу и тем, что именно попадает в копию.
| Способ | Для какой базы | Нужно ли выгонять пользователей | Что в копии | Минусы |
|---|---|---|---|---|
Выгрузка .dt из Конфигуратора | Файловая и серверная | Желательно, но не обязательно | Конфигурация + данные | На больших базах идёт долго, не годится как единственный бэкап для баз в сотни гигабайт |
Копия файла 1Cv8.1CD | Только файловая | Да, обязательно | Весь файл базы как есть | Копия в момент работы пользователей бывает повреждённой |
| Бэкап средствами СУБД | Только клиент-серверная | Нет | Вся база данных СУБД | Нужен доступ администратора СУБД |
| Резервное копирование из интерфейса программы | Файловая | Да, программа завершает сеансы | Архив файла базы | Работает только для файловых баз |
Подготовка базы к резервному копированию
Перед любым способом выясните три вещи.
- 📁 Где лежит база. В окне запуска 1С выделите базу — внизу видна строка подключения.
File="D:\Base\Buh"означает файловую базу в этой папке.Srvr="srv1c";Ref="buh"— серверную базуbuhна сервереsrv1c. - 🔑 Есть ли у вас права. Для выгрузки
.dtнужен пользователь 1С с административными правами. Для бэкапа СУБД — учётная запись администратора SQL Server или PostgreSQL. - 💾 Куда класть копию. Копия на том же диске, что и база, спасёт от ошибки пользователя, но не от отказа диска. Держите хотя бы один экземпляр на другом носителе: сетевом хранилище, внешнем диске, в облаке.
Оцените свободное место. Файл .dt сжат и обычно в несколько раз меньше рабочей базы. Копия 1Cv8.1CD без архивации занимает ровно столько же, сколько сам файл.
Если делаете копию перед обновлением или массовой обработкой данных, предупредите пользователей и заблокируйте вход. В клиент-серверной базе блокировку начала сеансов ставят в консоли администрирования серверов, в свойствах информационной базы. Там же задают код разрешения — с ним вы зайдёте в заблокированную базу сами.
Принудительное завершение сеансов обрывает работу пользователей: несохранённые документы пропадут. Делайте это в обеденный перерыв или вечером, предупредив людей заранее.
Выгрузка базы в файл .dt через Конфигуратор
Это универсальный способ: работает и для файловых, и для серверных баз, а файл .dt не зависит от СУБД. Из копии с MS SQL можно развернуть базу на PostgreSQL или в файловом варианте.
Как выгрузить
- В окне запуска выберите базу и нажмите Конфигуратор.
- Войдите под пользователем с административными правами.
- Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла. Удобный формат имени:
buh_2026-10-07.dt— по нему сразу видно базу и дату. - Нажмите Сохранить и дождитесь сообщения о завершении выгрузки.
Выгрузка не требует монопольного режима, но при активной работе пользователей идёт медленнее и сильнее нагружает сервер. Для базы в несколько гигабайт процесс занимает от нескольких минут до получаса в зависимости от диска и процессора.
Как загрузить обратно
Восстановление — Администрирование → Загрузить информационную базу. Для загрузки нужен монопольный доступ.
Загрузка .dt полностью заменяет конфигурацию и все данные базы, в которую вы её загружаете. Если сомневаетесь, создайте новую пустую базу в окне запуска и загружайте туда, а рабочую не трогайте.
Копирование файла базы для файловой 1С
Файловая база — это папка, в которой главный файл 1Cv8.1CD. В нём лежат и конфигурация, и данные. Скопировать эту папку — самый быстрый способ получить полную копию.
- Убедитесь, что в базе никто не работает: все закрыли 1С, включая фоновые сеансы на сервере публикации, если база опубликована на веб-сервере.
- Скопируйте
1Cv8.1CDв архивную папку. Для экономии места упакуйте в архив — файл базы хорошо сжимается. - Проверьте, что размер копии совпадает с исходником.
Признак того, что база ещё занята, — рядом с 1Cv8.1CD лежит файл блокировки 1Cv8.1CL. Обычно он создаётся при подключении к базе и исчезает, когда последний пользователь вышел. Если файл не исчезает, а пользователей точно нет, перезагрузите компьютер, где лежит база, в нерабочее время.
Копировать нужно только 1Cv8.1CD. Папки кэша и временные файлы рядом с ним при восстановлении не нужны — программа создаст их заново.
Встроенное резервное копирование в программе
В типовых конфигурациях на базе БСП — Бухгалтерии предприятия 3.0, ЗУП 3.1, УТ 11 — есть обработка резервного копирования. Путь: Администрирование → Обслуживание → Резервное копирование и восстановление.
Обработка завершает сеансы других пользователей, упаковывает файл базы в архив и складывает его в указанный каталог. Там же можно включить копирование по расписанию и ограничить число хранимых копий. Работает только для файловых баз: для серверной программа предложит пользоваться средствами СУБД.
Бэкап клиент-серверной базы средствами СУБД
В клиент-серверном варианте файла 1Cv8.1CD нет — данные хранятся в базе MS SQL или PostgreSQL. Самая надёжная копия здесь — штатный бэкап СУБД: он делается без отключения пользователей и даёт целостный снимок.
MS SQL Server
В SQL Server Management Studio щёлкните базу правой кнопкой и выберите Tasks → Back Up. То же самое запросом:
BACKUP DATABASE [buh]
TO DISK = N'D:\Backup\buh_full.bak'
WITH COMPRESSION, CHECKSUM, INIT;
COMPRESSIONсжимает копию (доступно не во всех редакциях SQL Server).CHECKSUMпроверяет контрольные суммы страниц при записи.INITперезаписывает файл, а не дописывает в него новую копию.
Если база работает в модели восстановления FULL, помимо полной копии делайте копии журнала транзакций BACKUP LOG. Без них журнал растёт, пока не займёт весь диск. Для большинства баз 1С на малом и среднем бизнесе хватает модели SIMPLE и ежедневной полной копии.
PostgreSQL
Для PostgreSQL копию делают утилитой pg_dump в собственном сжатом формате:
pg_dump -U postgres -h localhost -Fc -f /backup/buh_2026-10-07.backup buh
Восстановление — в заранее созданную пустую базу:
createdb -U postgres buh_test
pg_restore -U postgres -d buh_test /backup/buh_2026-10-07.backup
Используйте pg_dump и pg_restore из той же сборки PostgreSQL, на которой работает база 1С. Утилиты из чужой сборки могут не понять специфичные для 1С типы данных.
Восстановленная из бэкапа СУБД база ещё не видна в 1С. Её нужно зарегистрировать в кластере серверов 1С через консоль администрирования, указав имя базы в СУБД, и только потом добавлять в список баз у пользователей.
Автоматизация: копии по расписанию
Ручная копия раз в месяц — это не резервное копирование. Нужен график, который работает без человека.
| База | Чем автоматизировать | Частота |
|---|---|---|
| Файловая, небольшая | Встроенная обработка резервного копирования | Ежедневно |
| Файловая, нужен контроль | Bat-скрипт + планировщик заданий Windows | Ежедневно ночью |
| MS SQL | План обслуживания или задание SQL Server Agent | Полная копия ежедневно, журнал — каждые 15–60 минут при модели FULL |
| PostgreSQL | pg_dump через cron или планировщик Windows | Ежедневно ночью |
| Любая | Выгрузка .dt скриптом | Раз в неделю и перед каждым обновлением |
Bat-скрипт выгрузки .dt
Конфигуратор умеет работать в пакетном режиме: запускается без окна, выгружает базу и закрывается. Пример для файловой базы:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set BASE=D:\Base\Buh
set DEST=E:\Backup1C
rem Дата в формате ГГГГ-ММ-ДД для русской локали (дд.мм.гггг)
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
%V8% DESIGNER /F"%BASE%" /N"Администратор" /P"пароль" /DumpIB"%DEST%\buh_%D%.dt" /Out"%DEST%\buh_%D%.log"
rem Удаляем выгрузки старше 14 дней
forfiles /p "%DEST%" /m *.dt /d -14 /c "cmd /c del @path"
Что поправить под себя:
- Путь к
1cv8.exe— номер версии в пути должен совпадать с установленной платформой. Посмотрите его вC:\Program Files\1cv8\. - Для серверной базы замените
/F"%BASE%"на/S"srv1c\buh"— имя сервера и имя базы в кластере. - Если вход в базу заблокирован, добавьте ключ
/UCс кодом разрешения. - Строка с датой рассчитана на формат
дд.мм.гггг. На сервере с другой локалью проверьте, что выводитecho %date%.
Запуск по расписанию настраивается в планировщике заданий Windows: создайте задачу, укажите bat-файл и время, например 02:00. Выберите вариант «Выполнять вне зависимости от регистрации пользователя», иначе задача не сработает, пока никто не вошёл в систему.
Пароль в bat-файле лежит открытым текстом. Заведите для резервного копирования отдельного пользователя 1С и закройте доступ к папке со скриптом для всех, кроме администратора.
После каждого запуска проверяйте лог из параметра /Out. Пустой или отсутствующий .dt при «успешной» задаче планировщика — частая история: скрипт отработал, а Конфигуратор не смог войти в базу.
Проверка копии и пробное восстановление
Копия, из которой ни разу не восстанавливались, — это надежда, а не страховка. Раз в месяц и после изменений в скриптах проверяйте её на деле.
Проверка целостности
- 🗂 Файловая база. В каталоге платформы есть утилита
chdbfl.exe— она проверяет физическую целостность файла1Cv8.1CD. Запускайте её на копии, а не на рабочей базе. Логическую проверку делаетАдминистрирование → Тестирование и исправлениев Конфигураторе, но для неё нужен монопольный доступ. - 🗄 MS SQL. Команда
RESTORE VERIFYONLY FROM DISK = N'D:\Backup\buh_full.bak' WITH CHECKSUMпроверяет, что файл копии читается. Целостность самой базы проверяетDBCC CHECKDB. - 🐘 PostgreSQL.
pg_restore --listвыводит оглавление архива. Если команда отработала без ошибок, файл не битый.
Тестовое восстановление
Проверка файла не гарантирует, что в нём нужные данные. Поэтому периодически разворачивайте копию целиком:
- Создайте в окне запуска новую пустую базу с понятным именем, например
Buh_TEST. - Загрузите в неё
.dt, скопируйте файл1Cv8.1CDили восстановите бэкап СУБД в новую базу. - Откройте базу в режиме 1С:Предприятие.
- Сверьте контрольные цифры: последний документ, оборотно-сальдовую ведомость за прошлый месяц, количество сотрудников.
Тестовую копию держите отдельно от рабочих баз и не запускайте в ней регламентные задания обмена и отправки отчётности. Иначе тестовая база может выгрузить данные в узлы обмена или отправить документы контрагентам.