Резервная копия 1С, которая реально восстановится: .dt, файлы, SQL и расписание
Содержание
Самый универсальный способ сделать копию базы
1С — открыть её в Конфигураторе и выбрать Администрирование → Выгрузить информационную базу. Получится один файл .dt, который загружается в любую пустую базу на любом компьютере. Для файловой базы есть второй быстрый путь — скопировать каталог с файлом 1Cv8.1CD, а для серверной правильно делать копию средствами СУБД: MS SQL или PostgreSQL.
Типичная ситуация: бухгалтер собирается обновить конфигурацию , закрыть год или запустить обработку от подрядчика. Копия нужна за пять минут до этого, а не «когда-нибудь».
1. Подготовка: что выяснить до копирования базы 1С
Первым делом определите, какая у вас база: файловая или клиент-серверная. Это видно в окне запуска 1С. Выделите базу в списке — внизу окна появится строка подключения:
- 📁
File="D:\Bases\Buh"— файловая база, данные лежат в папке на диске; - 🖥️
Srvr="srv1c";Ref="buh"— серверная база, данные хранятся в СУБД.
Дальше подготовьте три вещи.
- Права. Для выгрузки
.dtнужен пользователь с ролью «Полные права» или «Администратор системы». Для копирования средствами СУБД — доступ к серверу SQL. - Место на диске. Файл
.dtобычно в несколько раз меньше рабочей базы, потому что он сжат. Резервная копия SQL без сжатия близка к размеру базы. Держите запас хотя бы на две копии. - Окно времени. Предупредите коллег и попросите выйти из программы. Для файловой базы это обязательно, для серверной при выгрузке
.dt— сильно желательно: копия, снятая во время активной работы, может зафиксировать незавершённые изменения.
Список активных пользователей видно в Конфигураторе: Администрирование → Активные пользователи. В серверной базе их также показывает консоль администрирования серверов 1С.
Какой способ выбрать
| Способ | Подходит | Плюсы | Ограничения |
|---|---|---|---|
Выгрузка .dt | любая база | один файл, переносится между файловым и серверным вариантом | на больших базах идёт долго |
Копия папки с 1Cv8.1CD | файловая база | самый быстрый, восстановление простым копированием | все пользователи должны выйти |
| Встроенное резервное копирование в БП 3.0 и других типовых | файловая база | настраивается мышкой, есть расписание | для серверных баз не предназначено |
| Бэкап MS SQL / PostgreSQL | серверная база | быстро на больших объёмах, без остановки работы | нужен доступ к СУБД и навыки администратора |
2. Выгрузка копии базы через Конфигуратор
Это способ, который работает всегда: для файловой и серверной базы, для любой конфигурации.
- Запустите 1С, выделите базу и нажмите кнопку
Конфигуратор. - Войдите под пользователем с полными правами.
- Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла. Удобно включать в имя дату и повод:
buh_2026-10-07_pered_obnovleniem.dt. - Нажмите
Сохранитьи дождитесь сообщения о завершении выгрузки.
Время зависит от объёма. База бухгалтерии небольшой фирмы выгружается за несколько минут, многогигабайтная база торговли — за час и дольше.
Не сохраняйте .dt в каталог самой базы. Если диск выйдет из строя или папку удалят, вы потеряете и базу, и копию одновременно.
Как восстановить из .dt
Восстановление идёт в обратном порядке: Администрирование → Загрузить информационную базу. Загрузка полностью заменяет данные и конфигурацию в той базе, куда вы загружаете. Поэтому проверку копии делайте не в рабочей базе, а в новой пустой: создайте её в окне запуска кнопкой Добавить → Создание новой информационной базы → «без конфигурации», откройте в Конфигураторе и загрузите туда файл.
Для загрузки .dt нужен монопольный доступ: в базе не должно быть других пользователей.
Что не попадает в .dt
- 🔐 Настройки кластера серверов 1С и параметры подключения пользователей на их компьютерах.
- 📄 Внешние обработки и отчёты, лежащие файлами на диске, а не в справочнике дополнительных обработок.
- 📂 Присоединённые файлы, если в программе включено хранение файлов в томах на диске. Тома копируйте отдельно, вместе с базой.
Последний пункт часто забывают. Посмотреть, где хранятся файлы, можно в Администрирование → Общие настройки в группе про присоединённые файлы.
3. Копирование файловой базы: папка и встроенный механизм
Файловая база — это каталог, в котором лежит файл 1Cv8.1CD. В нём все данные и конфигурация. Скопировали каталог целиком — получили полную копию.
Ручное копирование каталога
- Убедитесь, что все пользователи вышли из программы, включая фоновые сеансы с других компьютеров.
- Откройте каталог базы — путь виден в строке подключения в окне запуска.
- Скопируйте весь каталог в другое место или упакуйте его в архив.
Если кто-то остался в базе, рядом с 1Cv8.1CD будут служебные файлы блокировки, а копия может оказаться повреждённой. Скопированный при работе пользователей файл часто открывается, но с ошибками в данных, и выясняется это только при восстановлении.
Не удаляйте файлы блокировки вручную, чтобы «освободить» базу. Сначала найдите, кто в ней работает, и попросите выйти. Принудительный разрыв сеанса обрывает незаписанные документы пользователя.
Каталоги с кэшем и временными файлами (например, папки с логами 1Cv8Log) копировать не обязательно, но и вреда не будет. Журнал регистрации пригодится, если после восстановления нужно выяснить, кто что изменил.
Встроенное резервное копирование в типовых конфигурациях
В БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на Библиотеке стандартных подсистем есть собственный механизм. Найти его можно в разделе Администрирование → Обслуживание → Резервное копирование и восстановление.
Там доступны:
- ручной запуск копии «сейчас»;
- автоматическое копирование по расписанию, например ежедневно при завершении работы;
- выбор каталога и числа хранимых копий;
- восстановление из ранее созданной копии.
Механизм работает для файловых баз при запуске в обычном клиенте под Windows. Перед копированием программа сама завершит работу пользователей. Для серверных баз пункт либо недоступен, либо отсылает к средствам СУБД.
4. Копия серверной базы 1С средствами MS SQL и PostgreSQL
В клиент-серверном варианте данные лежат в базе СУБД. Её резервная копия делается быстрее выгрузки .dt и не требует выгонять пользователей. Имя базы в СУБД можно посмотреть в консоли администрирования серверов 1С, в свойствах информационной базы, поле с именем базы данных.
MS SQL Server
Через SQL Server Management Studio: правой кнопкой по базе → Tasks → Back Up (в русской версии Задачи → Создать резервную копию), тип — «Полная», путь к файлу .bak.
То же самое запросом:
BACKUP DATABASE [buh]
TO DISK = N'E:\Backup\buh_full.bak'
WITH INIT, CHECKSUM, STATS = 10;
Параметр CHECKSUM заставляет сервер проверять страницы при записи. Сжатие COMPRESSION уменьшает файл в несколько раз, но в редакции Express оно недоступно.
Если база в модели восстановления «Полная» (FULL), кроме полных копий нужны регулярные копии журнала транзакций. Без них журнал растёт, пока не займёт весь диск:
BACKUP LOG [buh]
TO DISK = N'E:\Backup\buh_log.trn'
WITH CHECKSUM;
Если восстановление на конкретную минуту вам не нужно, переведите базу в модель «Простая» (SIMPLE) и делайте только полные копии.
PostgreSQL
Для PostgreSQL копию снимают утилитой pg_dump. Удобнее всего формат custom (-Fc): он сжат и позволяет восстанавливать выборочно.
pg_dump -U postgres -h localhost -Fc -f /backup/buh_2026-10-07.dump buh
Восстановление — в заранее созданную пустую базу утилитой pg_restore:
pg_restore -U postgres -h localhost -d buh_test /backup/buh_2026-10-07.dump
Пароль для запуска по расписанию храните в файле .pgpass (в Windows — %APPDATA%\postgresql\pgpass.conf), а не в тексте скрипта.
Восстановленную из SQL-копии базу нужно зарегистрировать в кластере 1С: в консоли администрирования создайте информационную базу и укажите имя восстановленной базы данных. Пока этого не сделано, 1С её не видит.
5. Автоматическое копирование базы 1С из командной строки
Ручную копию забывают сделать именно в тот день, когда она нужна. Поэтому регулярное копирование ставят в планировщик заданий Windows.
Конфигуратор умеет выгружать .dt в пакетном режиме. Ключевые параметры запуска 1cv8.exe:
| Параметр | Что делает |
|---|---|
DESIGNER | запуск в режиме Конфигуратора |
/F"путь" | файловая база |
/S"сервер\база" | серверная база |
/N"имя" /P"пароль" | пользователь 1С с полными правами |
/DumpIB "файл.dt" | выгрузить информационную базу |
/Out "файл.log" | записать результат в лог |
/DisableStartupMessages | не показывать стартовые диалоги |
Пример .bat-файла для файловой базы с датой в имени и удалением копий старше 14 дней:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set DEST=E:\Backup\Buh
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HHmm"') do set STAMP=%%i
%V8% DESIGNER /F"%BASE%" /N"Backup" /P"********" /DisableStartupMessages /DumpIB "%DEST%\buh_%STAMP%.dt" /Out "%DEST%\buh_%STAMP%.log"
forfiles /p "%DEST%" /m *.dt /d -14 /c "cmd /c del @path"
Номер версии платформы в пути замените на свой: он виден в каталоге C:\Program Files\1cv8\. Для серверной базы вместо /F"%BASE%" укажите /S"srv1c\buh".
Чтобы задание запускалось по расписанию:
- Откройте
Планировщик заданий→Создать задачу. - На вкладке «Общие» выберите учётную запись и включите «Выполнять вне зависимости от регистрации пользователя».
- На вкладке «Триггеры» задайте время, например ежедневно в 23:00.
- На вкладке «Действия» укажите ваш
.bat.
Пароль пользователя 1С в тексте скрипта виден всем, у кого есть доступ к файлу. Заведите для копирования отдельного пользователя, закройте .bat правами NTFS и не держите его в общей папке.
Для серверных баз на MS SQL расписание удобнее настроить в самой СУБД: планом обслуживания (Maintenance Plan) или заданием SQL Server Agent. В Express агента нет, там запускают sqlcmd с текстом BACKUP DATABASE из планировщика Windows. Для PostgreSQL pg_dump ставят в планировщик Windows или в cron на Linux.
6. Где хранить копии базы и как проверить, что они рабочие
Копия, которая лежит на том же диске, что и база, защищает только от ошибки пользователя. От поломки диска, шифровальщика или кражи сервера она не спасает.
Практичная схема — правило «3-2-1»:
- 🗂️ 3 копии данных: рабочая база и две резервные;
- 💽 2 разных носителя: например, локальный диск сервера и сетевое хранилище;
- ☁️ 1 копия вне офиса: облачное хранилище или внешний диск, который увозят домой.
Сетевая папка, постоянно подключённая к серверу, от шифровальщика не защищает: он зашифрует и её. Хотя бы одна копия должна быть недоступна для записи с рабочего сервера.
Сколько копий держать
Разумный ориентир для небольшой фирмы: ежедневные копии за 2 недели, еженедельные за 2 месяца, ежемесячные за год. Плюс отдельная копия на конец каждого закрытого года и копии перед каждым обновлением конфигурации. Ошибку в учёте часто находят через месяц-два, и вчерашняя копия уже содержит ту же ошибку.
Как проверить копию
Копию проверяют восстановлением, а не по размеру файла.
- Раз в месяц разверните свежую копию в отдельную тестовую базу.
- Откройте её в режиме «1С:Предприятие» и сверьте пару контрольных цифр с рабочей базой: например, оборотно-сальдовую ведомость на последнее закрытое число.
- Для файловой базы прогоните тестирование:
Администрирование → Тестирование и исправлениев Конфигураторе, сначала только с проверкой логической целостности, без исправления. - Для SQL-копий выполните проверку файла:
RESTORE VERIFYONLY
FROM DISK = N'E:\Backup\buh_full.bak'
WITH CHECKSUM;
Для файловой базы есть ещё отдельная утилита chdbfl.exe в каталоге bin платформы. Она проверяет физическую целостность файла 1Cv8.1CD. Запускайте её только на базе, из которой все вышли, и на копии, а не на рабочем файле, если собираетесь включать исправление.
7. Если копия не создаётся
Несколько частых сбоев и что с ними делать.
- ❌ Выгрузка
.dtобрывается с ошибкой нехватки памяти. На больших базах 32-разрядному Конфигуратору не хватает адресного пространства. Запустите выгрузку 64-разрядной версией платформы или делайте копию средствами СУБД. - ❌ Пакетный запуск ничего не делает, лог пустой. Проверьте путь к
1cv8.exeв кавычках и имя пользователя. Если у пользователя есть пароль, а/Pне указан, Конфигуратор ждёт ввода и висит в фоне. - ❌ Не хватает места при выгрузке. Проверьте свободное место и на целевом диске, и на системном: при работе платформа использует временные файлы.
- ❌ Копия файловой базы не открывается. Скорее всего, её копировали, пока в базе кто-то работал. Возьмите предыдущую копию и настройте копирование на время, когда никого нет, или переходите на выгрузку
.dt. - ❌ Журнал транзакций MS SQL разросся до размеров диска. База в полной модели восстановления, а копий журнала нет. Настройте
BACKUP LOGпо расписанию или переведите базу в простую модель.
Частые вопросы
Можно ли перенести копию файловой базы на сервер 1С?
.dt. Выгрузите файловую базу, создайте пустую базу в кластере и загрузите в неё файл. Копию папки с 1Cv8.1CD на сервер так не перенести.Нужна ли лицензия, чтобы развернуть копию на другом компьютере?
.dt лицензию не содержит и не переносит.Чем копия .dt отличается от файла .cf?
.cf только конфигурация, без данных: справочников, документов, остатков. Для резервного копирования он не подходит, он нужен для переноса доработок и обновлений.