К статье
Практический материал

Администрирование · 10 мин

Как создать архивную копию в 1С

Как создать архивную копию базы 1С через конфигуратор, dt-выгрузку и средства СУБД. Проверка копии, типичные ошибки и ответы на частые вопросы.

Архивная копия базы 1С — единственная гарантия того, что данные учёта удастся восстановить после сбоя диска, ошибочного обновления конфигурации или случайного удаления документов. При этом «копия» в 1С может означать разные вещи: выгрузку информационной базы в файл с расширением dt, резервную копию на уровне СУБД или простое копирование каталога файловой базы. Каждый способ имеет свои ограничения, и выбор зависит от режима работы базы.

Главное правило: копия считается созданной только тогда, когда она лежит на отдельном носителе или в отдельном хранилище и её можно восстановить. Файл выгрузки, оставленный на том же диске, где работает база, от поломки диска не защитит. Поэтому создание копии всегда включает два этапа — выгрузку и перенос результата в безопасное место.

Ниже разобраны рабочие способы для файловых и клиент-серверных баз, порядок проверки результата и типичные ошибки, из-за которых «архив» оказывается непригодным в самый неподходящий момент.

Какие виды копий существуют в 1С и что выбрать

В 1С применяют три подхода к резервному копированию. Первый — выгрузка информационной базы в файл с расширением dt через Конфигуратор. Это универсальный формат платформы: из него базу можно развернуть как в файловом, так и в клиент-серверном варианте. Второй — резервная копия средствами СУБД (MS SQL Server, PostgreSQL), которая снимается на уровне сервера баз данных и не требует завершения сеансов пользователей. Третий — копирование файла 1Cv8.1CD для файловой базы, но только при полностью остановленной работе.

Выбор зависит от режима работы. Для небольшой файловой базы достаточно регулярной выгрузки в dt. Для клиент-серверной базы с десятками одновременных пользователей dt-выгрузка неудобна: она требует монопольного доступа и на больших объёмах занимает много времени. Там основным инструментом становится backup на стороне СУБД, а dt используют как дополнительный способ переноса и страховки.

Сравнение способов копирования

Выгрузка в dt

Подходит для файловых и небольших баз. Требует завершения всех сеансов. Универсальный формат для переноса между режимами работы.

Backup средствами СУБД

Основной способ для клиент-серверных баз. Выполняется без остановки пользователей, но восстановление привязано к той же СУБД.

Копирование файла 1Cv8.1CD

Допустимо только при полностью закрытой базе. Копирование при работающих пользователях даёт повреждённый файл.

Как выгрузить базу в dt через Конфигуратор

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

Если при запуске Конфигуратора появляется сообщение о том, что база заблокирована или есть активные соединения, выгрузка не начнётся. Завершите сеансы через оснастку администрирования сервера или попросите пользователей выйти. Принудительное завершение сеансов допустимо, но предупредите сотрудников, чтобы не потерять несохранённые данные в открытых документах.

Как скопировать файловую базу напрямую

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

Поэтому прямое копирование применяют либо в нерабочее время с гарантированным отсутствием сеансов, либо как дополнение к регулярной выгрузке в dt. Если база размещена в сетевой папке, проверьте также, что никто не держит её открытой с другого компьютера.

Резервное копирование клиент-серверной базы

В клиент-серверном варианте данные хранятся в СУБД, и основную копию делают её штатными средствами. Для MS SQL Server это команда BACKUP DATABASE или план обслуживания в SQL Server Management Studio, для PostgreSQL — утилита pg_dump или pg_basebackup. Такая копия снимается без завершения сеансов пользователей и выполняется по расписанию на стороне сервера.

sql
BACKUP DATABASE [buh_base] TO DISK = N'D:\backup\buh_base_full.bak' WITH COMPRESSION;

Важно понимать ограничение: backup СУБД восстанавливается на том же семействе СУБД и обычно на совместимой версии. Перенести такую копию с MS SQL на PostgreSQL напрямую нельзя — для смены платформы используют выгрузку в dt. Поэтому в клиент-серверных установках разумно сочетать оба подхода: ежедневные backup средствами СУБД и периодическую выгрузку в dt как независимую страховку.

Как автоматизировать создание копий

Ручное копирование быстро перестаёт выполняться регулярно, поэтому его автоматизируют. Для файловых баз применяют пакетный запуск Конфигуратора с параметрами выгрузки через планировщик заданий Windows. Команда запускается от имени служебной учётной записи в ночное время, когда сеансов нет.

bash
"C:\Program Files\1cv8\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"D:\Backup\buh_%date%.dt"

Для клиент-серверных баз расписание настраивают средствами самой СУБД: планы обслуживания в MS SQL Server или задания cron с pg_dump в Linux. В обоих случаях добавьте ротацию — автоматическое удаление старых копий, чтобы хранилище не переполнилось, и уведомление об ошибке выполнения задания, иначе о сбое копирования можно не узнать месяцами.

Как проверить, что копия рабочая

Самая частая ошибка — считать копию годной по факту её существования. Файл dt нужного размера ещё ничего не гарантирует. Надёжная проверка одна: тестовое восстановление. Создайте пустую базу, загрузите в неё выгрузку через Конфигуратор (Администрирование → Загрузить информационную базу) и убедитесь, что база открывается, а данные на месте.

Контрольные точки

Как проверить результат

Файл копии на диске
Норма

Файл существует, размер сопоставим с предыдущими копиями

Тревожный признак

Файл отсутствует, нулевого размера или резко меньше обычного

Загрузка dt в пустую базу
Норма

Загрузка завершается без ошибок, база открывается

Тревожный признак

Ошибка формата потока или обрыв загрузки

Содержимое после восстановления
Норма

Документы и справочники за последние даты присутствуют

Тревожный признак

Данные отсутствуют или за более ранний период, чем ожидалось

Место хранения
Норма

Копия лежит на отдельном носителе или в другом хранилище

Тревожный признак

Копия на том же диске, что и рабочая база

Тестовое восстановление разумно проводить хотя бы изредка, например раз в месяц, а также после любых изменений в схеме резервного копирования. Восстановление в отдельную тестовую базу не затрагивает рабочую и безопасно.

Типичные ошибки и ограничения

Типичные ошибки
01
Хранение копии на том же диске, что и база: при отказе диска теряются и база, и архив.
02
Копирование файла 1Cv8.1CD при работающих пользователях: копия оказывается повреждённой.
03
Отсутствие тестового восстановления: о непригодности копии узнают только при реальном сбое.
04
Выгрузка dt на очень большой базе без контроля свободного места: процесс обрывается, файл непригоден.
05
Нет копии перед обновлением конфигурации: откатить неудачное обновление невозможно.
06
Один-единственный архив без ротации: если он повреждён, восстанавливать нечего.

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

Маршрут решения

Как выбрать действие

Файловая база, пользователей немногоРегулярная выгрузка в dt по расписанию плюс перенос файла на внешний носитель
Клиент-серверная база, работа круглосуточнаяBackup средствами СУБД по расписанию, dt — периодически как страховка
Планируется обновление конфигурацииСвежая выгрузка в dt непосредственно перед обновлением, независимо от расписания
Нужно перенести базу на другую СУБД или в облакоТолько выгрузка в dt — backup СУБД между платформами не переносится

Часто задаваемые вопросы

Чем dt-файл отличается от обычной копии папки с базой?

Файл dt — это выгрузка данных в универсальном формате платформы 1С, из которого базу можно развернуть в любом режиме работы. Копия папки — это побайтовый снимок файловой базы, пригодный только для того же файлового варианта и корректный только при полном отсутствии сеансов во время копирования.

Можно ли создать архивную копию, не выгоняя пользователей?

Для клиент-серверной базы — да, средствами СУБД (BACKUP DATABASE в MS SQL, pg_dump в PostgreSQL). Выгрузка в dt и копирование файла 1Cv8.1CD требуют завершения всех сеансов, иначе копия будет непригодной.

Как часто нужно делать архивные копии?

Минимально приемлемый вариант для активно работающей базы — ежедневно. Дополнительная копия обязательна перед обновлением конфигурации, массовой загрузкой данных и закрытием периода. Храните несколько последних копий, а не одну.

Выгрузка завершилась ошибкой «недостаточно места на диске». Что делать?

Освободите место или укажите другой диск для файла выгрузки и повторите операцию. Частично созданный dt-файл удалите — он непригоден. На будущее оценивайте размер базы заранее и держите запас свободного пространства.

Можно ли восстановить из dt только часть данных, например один документ?

Нет, загрузка dt восстанавливает базу целиком. Чтобы достать отдельные данные, разверните копию в отдельной тестовой базе и перенесите нужное оттуда вручную или обработкой выгрузки-загрузки данных.

Достаточно ли хранить копии в облаке?

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

Итог

Что важно запомнить

Для файловой базы делайте выгрузку в dt через Конфигуратор при завершённых сеансах, для клиент-серверной — backup средствами СУБД. Храните копии на отдельном носителе, автоматизируйте расписание, делайте копию перед каждым обновлением и регулярно проверяйте архив тестовым восстановлением.