Копия базы 1С без потерь: файл, выгрузка .dt, бэкап SQL и PostgreSQL

· 10 мин

Содержание

Самый надёжный способ снять копию базы 1С 8.3 — выгрузить её в файл .dt через Конфигуратор: Администрирование → Выгрузить информационную базу. Для файловой базы есть и более быстрый путь: закрыть все сеансы и скопировать папку базы с файлом 1Cv8.1CD. Базы на MS SQL Server и PostgreSQL копируют средствами самой СУБД, а .dt делают дополнительно.

Какой способ выбрать, решает тип базы и её размер. Бухгалтер небольшой фирмы с файловой базой обойдётся копированием папки или выгрузкой .dt. Администратору сервера с базой на 50–100 ГБ нужен бэкап СУБД по расписанию: выгрузка .dt такого объёма идёт часами.

Зачем снимать копию базы 1С и чем грозит её отсутствие

Копия нужна не «на всякий случай», а перед конкретными операциями и по расписанию. Без неё любая из ситуаций ниже превращается в потерю данных за месяцы работы.

  • 💥 Сбой при обновлении конфигурации: обновление прервалось, база не открывается.
  • 🔌 Отключение питания во время записи — файл 1Cv8.1CD повреждается.
  • 🦠 Шифровальщик: файлы базы зашифрованы вместе со всем диском.
  • 🧑‍💻 Ошибка пользователя: групповая обработка перепровела или удалила документы.
  • 💽 Отказ диска, на котором лежит база.
  • 🔧 Тестирование и исправление (chdbfl.exe или режим Тестирование и исправление) может удалить «битые» объекты без возврата.

Копию обязательно снимают перед обновлением релиза, перед загрузкой расширений и внешних обработок, которые меняют данные, перед закрытием года и перед тестированием базы.

Бухгалтерские данные нужно хранить не меньше пяти лет после отчётного года — так требует закон о бухгалтерском учёте. Ежедневная копия базы закрывает этот риск лучше, чем распечатки регистров.

Сравнение способов:

СпособДля какой базыНужно ли выгонять пользователейПлюсыМинусы
Копирование папки с 1Cv8.1CDФайловаяДа, обязательноБыстро, восстановление — простой возврат файлаКопия при открытых сеансах может быть битой
Выгрузка .dt в КонфигуратореЛюбаяЖелательноНе зависит от СУБД, можно загрузить на другой серверДолго на больших базах, нужен Конфигуратор
Обработка «Резервное копирование» в программеФайловаяПрограмма завершит сеансы самаНастраивается мышкой, есть расписаниеРаботает только для файловой базы
Бэкап MS SQL / PostgreSQLКлиент-сервернаяНетБыстро, можно делать днём, есть журнал транзакцийНужен доступ к серверу СУБД
Какая у вас база?

Способ 1. Копирование файловой базы 1С вручную

Файловая база — это папка, в которой лежит файл 1Cv8.1CD. В нём все данные и конфигурация. Скопировать папку — значит снять полную копию.

Как найти папку базы

  1. Запустите 1С, в окне выбора баз выделите нужную.
  2. Внизу окна появится путь вида File="D:\Bases\Buh". Это и есть папка.
  3. Если путь не виден, нажмите Изменить — на втором шаге мастера будет строка с каталогом базы.

Пошагово

  1. Попросите всех пользователей выйти из программы, включая фоновые обработки и обмены.
  2. Проверьте, что в папке базы нет файла 1Cv8.cdn — он появляется, пока в базе есть сеансы. Если он есть, кто-то ещё работает.
  3. Скопируйте всю папку на другой диск или в архив. Достаточно файла 1Cv8.1CD, но вместе с папкой надёжнее.
  4. Переименуйте копию по дате: Buh_2026-10-07.

Не копируйте файл 1Cv8.1CD, пока в базе работают пользователи. Проводник скопирует его без ошибок, но копия может не открыться: часть страниц файла будет записана, часть — нет.

Встроенное резервное копирование в программе

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) для файловой базы есть своя обработка. В Бухгалтерии она в разделе Администрирование → Обслуживание → Резервное копирование и восстановление.

В ней задают каталог для копий, расписание (например, при завершении работы или каждый день в 19:00) и срок хранения. Программа сама завершит сеансы, сделает архив и вернётся к работе. Для серверной базы этот пункт недоступен — там копирует администратор СУБД.

Способ 2. Выгрузка копии базы 1С в файл .dt через Конфигуратор

Выгрузка .dt — универсальный способ для файловой и серверной базы. Файл содержит конфигурацию и все данные в формате, не зависящем от СУБД. Его можно загрузить в файловую базу, на SQL Server или PostgreSQL.

Пошагово

  1. В окне запуска выделите базу и нажмите Конфигуратор.
  2. Войдите под пользователем с полными правами (роль «Администратор» или «Полные права»).
  3. Откройте меню Администрирование → Выгрузить информационную базу.
  4. Укажите папку и имя файла, например Buh_2026-10-07.dt.
  5. Дождитесь сообщения «Выгрузка информационной базы успешно завершена».

База на 2 ГБ выгружается примерно за несколько минут. Файл .dt сжат, поэтому обычно в 3–5 раз меньше исходной базы.

Запишите номер платформы, на которой сделана выгрузка (Справка → О программе). Загружать .dt нужно на платформу с номером не ниже этого. На более старой загрузка завершится ошибкой.

Во время выгрузки лучше, чтобы в базе никто не работал: изменения, внесённые в процессе, могут не попасть в файл или попасть частично. Ночью или в обед — самое удобное время.

Выгрузка из командной строки

Тот же результат даёт пакетный запуск Конфигуратора. Ключ /DumpIB выгружает базу, /Out пишет журнал:

"C:\Program Files\1cv8\8.3.25.1394\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Admin" /P "pass" /DumpIB "E:\Backup\Buh.dt" /Out "E:\Backup\dump.log"

Для серверной базы вместо /F укажите /S "srv1c\buh" (имя сервера и имя базы в кластере). Номер версии в пути замените на свой.

Способ 3. Копия базы 1С на MS SQL Server и PostgreSQL

В клиент-серверном варианте данные хранятся в СУБД. Правильная копия — штатный бэкап этой СУБД. Он делается без остановки работы и в разы быстрее выгрузки .dt.

MS SQL Server

Через SQL Server Management Studio: правый клик по базе → Tasks → Back Up (в русской версии — Задачи → Создать резервную копию), тип Full, путь к файлу .bak.

То же самое запросом:

BACKUP DATABASE [buh]
TO DISK = N'E:\Backup\buh_full.bak'
WITH INIT, COMPRESSION, CHECKSUM;

COMPRESSION поддерживается не во всех редакциях SQL Server. Если запрос вернул ошибку на этом параметре — уберите его.

Если у базы модель восстановления Full, добавьте бэкап журнала транзакций каждые 30–60 минут. Это позволит восстановиться на любой момент дня, а не только на прошлую ночь:

BACKUP LOG [buh] TO DISK = N'E:\Backup\buh_log.trn';

PostgreSQL

Для PostgreSQL копию снимает утилита pg_dump. Формат -Fc — сжатый, из него потом восстанавливают через pg_restore:

pg_dump -U postgres -h localhost -Fc -f /backup/buh_$(date +%F).backup buh

Для Windows команда та же, только путь к pg_dump.exe указывают полностью (папка bin установленного PostgreSQL), а дату подставляют иначе.

Имя базы в СУБД не всегда совпадает с именем в кластере 1С. Его видно в консоли администрирования серверов 1С: свойства информационной базы → поле с именем базы данных.

Как автоматизировать резервное копирование базы 1С

Ручные копии забывают делать. Через месяц выясняется, что последняя — трёхнедельной давности. Поэтому копию ставят на расписание.

Файловая база: bat-скрипт и Планировщик заданий Windows

Скрипт выгружает .dt с датой в имени и удаляет копии старше 30 дней:

@echo off
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
set V8="C:\Program Files\1cv8\8.3.25.1394\bin\1cv8.exe"
%V8% DESIGNER /F "D:\Bases\Buh" /N "Admin" /P "pass" /DumpIB "E:\Backup\Buh_%D%.dt" /Out "E:\Backup\log_%D%.txt"
forfiles /p "E:\Backup" /m *.dt /d -30 /c "cmd /c del @path"

Строка с датой рассчитана на русский формат ДД.ММ.ГГГГ. Если имя пользователя 1С написано кириллицей, сохраните bat-файл в кодировке OEM 866, иначе Конфигуратор не найдёт пользователя. Проще завести для копирования отдельного пользователя с латинским именем.

Настройка в Планировщике:

  1. Откройте taskschd.msc → Создать задачу.
  2. На вкладке «Общие» включите «Выполнять для всех пользователей».
  3. Триггер — ежедневно в 2:00.
  4. Действие — запуск bat-файла.
  5. На следующее утро проверьте файл журнала: там должно быть сообщение об успешной выгрузке.

Серверная база

  • 🗄️ MS SQL Server Standard и выше — план обслуживания (Maintenance Plan) с полным бэкапом ночью и бэкапом журнала днём; запускает его SQL Server Agent.
  • 🆓 SQL Server Express не имеет Agent — запрос BACKUP DATABASE запускают через sqlcmd из Планировщика Windows.
  • 🐘 PostgreSQL на Linux — pg_dump в cron, например 0 2 * * *; на Windows — через Планировщик.

Раз в неделю добавьте выгрузку .dt тем же скриптом: она не зависит от версии СУБД и пригодится, если сервер придётся поднимать заново.

Типичные ошибки при копировании базы 1С

  • ❌ Копия лежит на том же диске, что и база. Диск умер — пропали обе. Шифровальщик тоже зашифрует обе.
  • ❌ Копию ни разу не проверяли. Файл есть, но не загружается: выгрузка оборвалась, а журнал никто не читал.
  • ❌ Пароль в bat-файле от администратора 1С с полными правами, файл в общей папке. Его прочитает любой сотрудник.
  • ❌ Только .dt для базы на 100 ГБ. Выгрузка идёт полночи, восстановление — ещё дольше. Для больших баз основа — бэкап СУБД.
  • ❌ Не записали версию платформы. Через год .dt не загружается на старой машине, а нужная версия платформы не установлена.
  • ❌ Копировали папку с базой «на лету» через синхронизацию облачного диска. Облачный клиент копирует файл, пока 1С в него пишет.

Как восстановить базу 1С из резервной копии

Перед восстановлением сохраните текущее состояние базы, даже если она «сломана». Может оказаться, что часть свежих документов есть только в ней.

Из копии папки (файловая база)

  1. Все пользователи выходят из программы.
  2. Переименуйте текущую папку базы, например в Buh_broken.
  3. Скопируйте папку из копии на её место под старым именем.
  4. Запустите 1С и проверьте последние документы.

Из файла .dt

  1. Откройте базу в Конфигураторе. Для проверки копии лучше создать новую пустую базу и загружать в неё.
  2. Меню Администрирование → Загрузить информационную базу, выберите файл .dt.
  3. Подтвердите замену. Загрузка полностью заменяет данные и конфигурацию той базы, в которую вы загружаете.
  4. После загрузки программа может запросить обновление — согласитесь и дождитесь окончания.

Для загрузки нужен монопольный доступ: в базе не должно быть других сеансов. Из командной строки то же самое делает ключ /RestoreIB "путь\к\файлу.dt".

Из бэкапа СУБД

  • MS SQL: в Management Studio — восстановление базы данных из устройства, файл .bak, затем по порядку журналы .trn, если они есть.
  • PostgreSQL: создайте пустую базу и выполните pg_restore -U postgres -d buh_restore /backup/buh.backup.

Восстанавливать поверх рабочей серверной базы можно только после того, как завершены все сеансы 1С. Пользователи потеряют несохранённые данные — предупредите их заранее и выберите время, когда в базе никто не работает. Для проверки копии восстанавливайте в базу с другим именем и подключайте её в кластер как отдельную.

Где хранить копии базы 1С и как их защитить

Хорошая копия — та, что пережила ту же беду, что и рабочая база. Простое правило «3-2-1»:

  • 3️⃣ три экземпляра данных: рабочая база и две копии;
  • 2️⃣ на двух разных носителях: например, второй диск сервера и сетевое хранилище;
  • 1️⃣ одна копия вне офиса: облачное хранилище или внешний диск, который увозят домой.

Срок хранения задайте так:

КопияСколько хранить
Ежедневная14–30 дней
Еженедельная2–3 месяца
На конец месяца12 месяцев
На конец года (после закрытия)5 лет и дольше

В базе 1С есть персональные данные сотрудников и контрагентов: паспорта, СНИЛС, зарплаты. Копия — такая же база, и закон о персональных данных требует её защищать. Архивируйте копии с паролем (7-Zip, AES-256) и ограничьте права на папку с копиями одним-двумя людьми.

От шифровальщиков спасает копия, к которой нет постоянного доступа с рабочих компьютеров: отключаемый диск, хранилище с версиями файлов или облако, где удалённые файлы можно вернуть.

Проверка системы копирования раз в месяц
Выполнено: 0 / 5

Частые вопросы

Как часто снимать копию базы 1С?
Каждый день для рабочей базы и дополнительно перед каждым обновлением. Если в день вводят сотни документов, для серверной базы добавьте бэкап журнала транзакций каждый час.
Можно ли открыть файл .dt без 1С?
Нет. Это служебный формат платформы. Чтобы посмотреть данные, создайте пустую базу и загрузите в неё .dt через Конфигуратор.
Подходит ли копия базы для переноса на другой компьютер?
Да. Скопируйте папку файловой базы или загрузите .dt в новую базу на другом компьютере, затем добавьте её в список баз. Номер версии платформы там должен быть не ниже того, на котором делали выгрузку.
Сколько места занимает копия?
Копия папки равна размеру файла 1Cv8.1CD. Файл .dt и архив бэкапа СУБД обычно в 3–5 раз меньше, но это зависит от состава данных.
Делать ли копию, если база в облаке 1С:Фреш или у провайдера?
Провайдер делает свои копии, но условия их хранения и восстановления описаны в договоре. Если нужна независимая копия, выгрузите её средствами сервиса и храните у себя.

Источники

  • Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учете»
  • Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»