Архивация базы 1С 8.3: файловая и SQL, вручную и по расписанию
Содержание
Чтобы архивировать базу 1С 8.3, закройте её у всех пользователей и скопируйте каталог с файлом 1Cv8.1CD (файловый вариант) либо выгрузите базу в файл .dt через Конфигуратор. Для клиент-серверной базы копию делают средствами СУБД: BACKUP DATABASE в SQL Server или pg_dump в PostgreSQL.
Частая ошибка — копировать 1Cv8.1CD, пока в базе кто-то сидит. Файл копируется без ошибок, но внутри оказывается «рваное» состояние, и восстановиться из такой копии не получится. Вторая ошибка — хранить архив на том же диске, что и база. Диск умер, и нет ни базы, ни копии.
Что подготовить до начала архивации
Сначала выясните, какой у вас вариант базы. Откройте список баз при запуске 1С и посмотрите на строку «Расположение». Путь к папке на диске — файловая база. Имя сервера и имя базы — клиент-серверная.
Дальше три действия:
- 📍 Определите место хранения. Минимум — отдельный диск или сетевая папка. Лучше — ещё и копия вне офиса.
- 👥 Отключите пользователей. В клиент-серверной базе сеансы смотрите в консоли кластера серверов, в файловой — по списку активных пользователей в программе.
- 💾 Проверьте свободное место. Для файловой базы нужно столько же, сколько занимает каталог, плюс запас.
Прежде чем завершать сеансы, предупредите людей. Незаписанные документы пропадут, а принудительное отключение посреди проведения может оставить документ в непроведённом состоянии.
Правило 3-2-1 здесь работает без оговорок: три копии, на двух разных носителях, одна из них за пределами офиса. Для небольшой фирмы это значит «диск сервера + внешний диск или сетевое хранилище + облако».
Архивация файловой базы 1С 8.3 простым копированием
Это самый быстрый способ, и он подходит, если база работает в файловом режиме.
- Убедитесь, что все закрыли 1С. Проверьте процессы
1cv8.exeв диспетчере задач на рабочих станциях и на сервере терминалов. - Откройте каталог базы. Его путь виден в списке баз.
- Найдите файл
1Cv8.1CD. В этом же каталоге могут лежать служебные файлы (журнал регистрации,1Cv8.lgd, кэш). - Скопируйте весь каталог целиком в архив: через 7-Zip, WinRAR или встроенное сжатие в ZIP.
- В имени архива укажите дату:
buh_2026-10-07.zip.
Журнал регистрации и кэш в копии не обязательны, но целиком каталог проще: ничего не забудете.
Копировать можно только при закрытой базе. Если файл занят, Windows часто выдаст ошибку доступа. Но бывает и тихий вариант, когда копия получилась, а целостность нарушена.
💡 База на 8 ГБ после сжатия обычно занимает в архиве 1,5–3 ГБ. Точная цифра зависит от данных: учётные базы с большим числом однотипных записей сжимаются хорошо.
Выгрузка в файл .dt через Конфигуратор
Выгрузка информационной базы — штатный способ получить переносимую копию. Файл .dt содержит данные и конфигурацию, его можно загрузить в пустую базу на другом компьютере или другой версии платформы (в пределах совместимости).
Порядок действий:
- Запустите 1С в режиме Конфигуратора: выберите базу и нажмите «Конфигуратор».
- Откройте меню
Администрирование. - Выберите
Выгрузить информационную базу. - Укажите папку и имя файла, нажмите «Сохранить».
- Дождитесь окончания. Крупная база может выгружаться десятки минут.
Загрузка идёт тем же меню: Администрирование → Загрузить информационную базу. Загрузка заменяет все данные целевой базы, поэтому сначала убедитесь, что вы выбрали правильную базу.
Что лучше — копия каталога или .dt? Сравните:
| Способ | Когда подходит | Риски и минусы |
|---|---|---|
Копия 1Cv8.1CD | Файловая база, быстрое действие перед правкой | Нужна полная тишина в базе; файл целиком, без проверки внутренней структуры |
Выгрузка .dt | Перенос, архив для хранения, смена платформы | Дольше; нужна монопольная работа; не заменяет бэкап сервера СУБД |
| Бэкап СУБД | Клиент-серверная база, регулярная работа | Нужны права на сервере и знание СУБД |
Выгрузка в .dt ещё и косвенно проверяет базу: если структура повреждена, выгрузка нередко прерывается с ошибкой. Это тревожный сигнал, но не повод ждать — сразу идите к тестированию и исправлению (Администрирование → Тестирование и исправление).
Резервная копия клиент-серверной базы на SQL Server и PostgreSQL
Тут копировать файлы бесполезно: данные лежат внутри СУБД. Делайте копию средствами самой СУБД.
SQL Server
Через SQL Server Management Studio: правый клик на базе → Tasks → Back Up…. Тип копии — Full, назначение — диск. Тот же результат даёт запрос:
BACKUP DATABASE [buh_base]
TO DISK = N'D:\backup\buh_base_full.bak'
WITH COMPRESSION, CHECKSUM, INIT;
COMPRESSION уменьшает файл, CHECKSUM включает контроль страниц при записи. Если нужно делать копии чаще раза в сутки, добавляют разностные копии (WITH DIFFERENTIAL) и копии журнала транзакций. Для журнала база должна работать в модели восстановления Full.
PostgreSQL
Для PostgreSQL штатная утилита — pg_dump:
pg_dump -U postgres -h localhost -Fc -f /backup/buh_base.dump buh_base
Ключ -Fc создаёт сжатый архив пользовательского формата, который восстанавливают командой pg_restore. Пароль утилита запросит или возьмёт из переменной окружения PGPASSWORD, либо из файла .pgpass.
При архивации через СУБД пользователей отключать необязательно: копия делается согласованно, даже когда в базе идёт работа. Но самая тяжёлая операция лучше проходит в нерабочее время, чтобы не тормозить людей.
Обратите внимание на отдельный момент. Хранилище конфигурации, если оно у вас есть, — отдельный объект. Копируйте каталог хранилища вместе с базой данных хранилища, а если оно работает через сервер, архивируйте и его.
Автоматическая архивация базы по расписанию
Ручная копия, про которую помнят раз в месяц, — не архив. Автоматизировать можно все три способа.
Выгрузка .dt из командной строки
Конфигуратор умеет работать без окна. Для файловой базы:
"C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe" DESIGNER /F "D:\bases\buh" /N "Архивариус" /P "пароль" /DumpIB "D:\backup\buh.dt" /DisableStartupDialogs /Out "D:\backup\log.txt"
Подставьте свой номер платформы, путь к базе, имя и пароль пользователя. Для клиент-серверной базы вместо /F используют /S "сервер\имя_базы". Параметр /Out пишет журнал, по нему проверяют, что выгрузка прошла.
Создайте для скрипта отдельного пользователя с минимальными правами и не храните его пароль в открытом виде в общедоступной папке.
Планировщик заданий Windows
- Откройте «Планировщик заданий» и создайте задачу (не «простую», она менее гибкая).
- На вкладке «Триггеры» задайте время, например 23:30 в будни.
- На вкладке «Действия» запустите
.batс командой выгрузки. - Отметьте «Выполнять с наивысшими правами» и запуск вне зависимости от входа пользователя.
Для SQL Server удобнее план обслуживания (Maintenance Plan) в SSMS либо задание агента SQL Server. Для PostgreSQL в Linux — cron с вызовом pg_dump.
Ротация копий
Без чистки диск переполнится. Простая схема на примере базы, где архив весит 3 ГБ:
- ежедневные копии хранить 14 дней: 14 × 3 = 42 ГБ;
- еженедельные — 8 недель: 8 × 3 = 24 ГБ;
- ежемесячные — 12 месяцев: 12 × 3 = 36 ГБ.
Итого около 102 ГБ. Старые файлы удаляйте скриптом, например командой forfiles с отбором по возрасту.
.dt командой DESIGNER /DumpIB по расписанию в планировщике Windows.BACKUP DATABASE плюс разностные копии в течение дня, задание в агенте SQL Server.pg_dump -Fc по расписанию, проверка через pg_restore --list..dt и загрузка в новую пустую базу.Где хранить архивы и как проверить, что они рабочие
Копия, которую ни разу не пробовали восстановить, остаётся гипотезой. Проверка занимает мало времени, зато снимает главный риск.
Что проверять:
- ✅ Размер. Резкое уменьшение файла относительно вчерашнего — повод разбираться: возможно, выгрузка прервалась.
- ✅ Журнал выгрузки. В файле, который вы указали в
/Out, не должно быть сообщений об ошибках. - ✅ Целостность архива. Команда проверки в 7-Zip (
7z t архив.zip) покажет повреждённые файлы. - ✅ Копия SQL Server. Выполните
RESTORE VERIFYONLY FROM DISK = N'D:\backup\buh_base_full.bak' WITH CHECKSUM;Это быстрая проверка читаемости, но не полная гарантия. - ✅ Копия PostgreSQL. Команда
pg_restore --list buh_base.dumpпокажет оглавление архива, если файл не повреждён.
Раз в квартал делайте полноценную проверку: разверните копию в тестовой базе и откройте несколько документов и отчётов. Только так узнаете, что копия действительно годится.
Про место хранения: держите копии минимум в двух местах, одно из которых не на сервере с базой. Если архивы лежат в сетевой папке, закройте их от записи обычным пользователям. Шифровальщик первым делом добирается до доступных по сети файлов, включая бэкапы.
Восстановление базы из архива
Перед восстановлением не удаляйте текущую базу. Даже повреждённая, она может понадобиться, чтобы вытащить свежие данные.
Из копии каталога
- Закройте 1С у всех.
- Переименуйте текущий каталог базы, например в
buh_old. - Распакуйте архив в новое место.
- Добавьте базу в список запуска кнопкой «Добавить» и укажите путь к распакованному каталогу.
Из файла .dt
- Создайте новую пустую базу (кнопка «Добавить» → создание новой информационной базы без шаблона).
- Откройте её в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите файл.
Из бэкапа СУБД
Для SQL Server используйте Restore Database в SSMS и восстанавливайте под новым именем, пока не убедитесь, что копия рабочая. Для PostgreSQL создайте пустую базу и выполните pg_restore -d новая_база файл.dump. После этого в консоли кластера или в списке баз добавьте её под нужным именем.
Если вы восстановили базу из копии, а у неё есть обмены с другими базами (например, с розницей или зарплатой), на ночь отключите регламентные задания и сверьте номера отправленных и принятых сообщений. Иначе после восстановления сообщения «из будущего» будут конфликтовать.
Как понять, что схема архивации дырявая
Пройдитесь по короткому списку вопросов. Если хотя бы на один ответ «не знаю», схема требует доработки.
- Кто отвечает за копии? Должен быть конкретный человек, а не «админ или бухгалтер».
- Где лежит последняя копия и когда она сделана? Ответ должен находиться за минуту.
- Когда в последний раз восстанавливали базу из копии на тестовом стенде?
- Что произойдёт, если сервер сгорит вместе с диском для архивов?
- Приходит ли вам уведомление, когда задание завершилось ошибкой? Молчащий планировщик — худший вариант: копий нет, а вы об этом не знаете.
Последний пункт решается просто: добавьте в .bat проверку кода возврата и отправку письма или сообщения при сбое. Либо смотрите журнал выгрузки каждое утро первые две недели, пока схема не докажет надёжность.
Когда архивировать нужно особенно
Не ограничивайтесь плановым расписанием. Сделайте внеплановую копию перед:
- обновлением конфигурации или платформы;
- загрузкой правил обмена, расширений, обработок от сторонних разработчиков;
- групповой обработкой данных, перепроведением документов за год;
- закрытием периода и подготовкой к сдаче отчётности;
- переездом на новый сервер.
Для этих случаев удобнее .dt: его проще хранить рядом с описанием, что именно вы собираетесь делать.
Частые вопросы
Можно ли копировать файл 1Cv8.1CD, пока база открыта?
.dt.Чем отличается архив базы от выгрузки .dt?
.dt формируется самой платформой, содержит данные и конфигурацию и подходит для переноса между платформами.