Администрирование · 10 мин
Как правильно сделать копию базы 1С
Разбираем, как правильно сделать копию базы 1С: выгрузка DT, копирование файловой базы, бэкап SQL. Пошаговые инструкции, проверка результата и типичные ошибки.
Копия базы 1С нужна в трёх типовых ситуациях: перед обновлением конфигурации, перед массовой загрузкой или исправлением данных и для создания тестовой среды. От цели зависит и способ: для архивной копии достаточно выгрузки DT или копирования файла, а для восстановления рабочей базы после сбоя нужен регулярный бэкап средствами СУБД.
Главная ошибка при копировании — делать «копию» без проверки, что она открывается и содержит актуальные данные. Файл, который нельзя развернуть, резервной копией не является. Поэтому любой способ из этой статьи завершайте контрольным развёртыванием копии в отдельный каталог или на тестовый сервер.
Ниже разобраны четыре рабочих способа: выгрузка информационной базы в файл DT через конфигуратор, копирование файла 1Cv8.1CD для файловых баз, резервное копирование средствами СУБД для клиент-серверных баз и создание тестовой копии для экспериментов. Для каждого указаны условия применения, ограничения и способ проверки результата.
Определите тип базы и цель копии
Перед копированием выясните два параметра: режим работы базы (файловый или клиент-серверный) и цель копии. Режим виден в списке информационных баз при запуске 1С: файловая база указывает путь к каталогу на диске или сетевом ресурсе, клиент-серверная — имя сервера и имя базы на СУБД.
Цель определяет требования к копии. Копия перед обновлением должна разворачиваться быстро и гарантированно — подойдёт DT или бэкап СУБД. Копия для передачи франчайзи или аудитору обычно делается через DT, потому что это универсальный формат, не зависящий от версии СУБД. Копия для тестовой среды должна быть полной, но изолированной от рабочих пользователей.
Как выбрать способ копирования
Способ 1: выгрузка базы в файл DT через конфигуратор
Выгрузка в DT — штатный механизм платформы, доступный пользователю с правами администратора. Файл DT содержит всю базу: конфигурацию, данные, пользователей и настройки. Он подходит для архивных копий, переноса базы между серверами и передачи данных сторонним специалистам.
Порядок действий для управляемого интерфейса: откройте базу в режиме конфигуратора, убедитесь, что других пользователей в базе нет, затем выберите «Конфигурация» → «Сохранить конфигурацию в файл» не нужно — правильный пункт: «Администрирование» → «Выгрузить информационную базу». В типовых конфигурациях с обычным приложением путь выглядит как «Файл» → «Сохранить копию» из режима предприятия. Укажите каталог и имя файла, дождитесь окончания выгрузки.
Во время выгрузки база должна быть в монопольном режиме: активные сеансы пользователей и фоновые задания приводят к ошибке либо к несогласованной копии. Заранее завершите сеансы через консоль кластера или попросите пользователей выйти, а регламентные задания временно заблокируйте.
- 1Завершите все сеансы пользователей и заблокируйте регламентные задания
- 2Откройте базу в конфигураторе монопольно
- 3Выберите «Администрирование» → «Выгрузить информационную базу»
- 4Укажите каталог с достаточным свободным местом и дождитесь завершения
- 5Проверьте размер файла и разверните его в тестовую базу для контроля
Ограничения выгрузки DT
DT имеет ограничения: для больших баз (десятки гигабайт) выгрузка и загрузка занимают часы и требуют значительного объёма оперативной памяти и места на диске. Кроме того, загрузка DT возможна только в пустую базу той же или более новой версии платформы. Для крупных клиент-серверных баз DT не подходит как основной механизм бэкапа — используйте средства СУБД.
Способ 2: копирование файла файловой базы
Файловая база целиком хранится в одном файле — 1Cv8.1CD в каталоге базы. Самый быстрый способ получить копию — скопировать этот файл средствами операционной системы. Копия получается бит-в-бит и разворачивается мгновенно: достаточно добавить каталог с копией в список информационных баз.
Критическое условие — во время копирования в базе не должно быть активных сеансов. Если скопировать файл, пока пользователи работают, копия окажется в несогласованном состоянии: часть страниц данных будет из одного момента времени, часть — из другого. Такая база может не открыться или содержать повреждённые данные.
Чтобы гарантировать целостность, завершите все сеансы или выполняйте копирование в нерабочее время. Альтернатива — скрипт, который перед копированием проверяет отсутствие блокировок. После копирования откройте копию и убедитесь, что последние документы на месте.
Способ 3: резервное копирование клиент-серверной базы
Клиент-серверная база хранится в СУБД (MS SQL Server, PostgreSQL и др.), поэтому копию делает не 1С, а сама СУБД. Для MS SQL это полная резервная копия (FULL backup), для PostgreSQL — выгрузка через pg_dump или физический бэкап. Такой способ быстрее DT на больших базах и легко автоматизируется расписанием.
Для MS SQL задача создаётся в SQL Server Management Studio: правой кнопкой по базе → «Задачи» → «Создать резервную копию», тип — «Полная». Для регулярных копий настройте план обслуживания с расписанием в нерабочие часы. Для PostgreSQL разовая копия делается командой:
pg_dump -U postgres -Fc -f /backup/base_$(date +%Y%m%d).dump имя_базыБэкап СУБД восстанавливается только на СУБД той же или совместимой версии, поэтому для передачи копии франчайзи он менее удобен, чем DT. Зато для собственного резервного копирования это оптимальный вариант: копия консистентна, создаётся быстро и не требует выгрузки конфигурации отдельно.
Создание тестовой копии для экспериментов
Тестовая копия нужна, чтобы безопасно проверить обновление, доработку или загрузку данных. Создаётся она любым из способов выше: для файловой базы — копированием каталога, для клиент-серверной — восстановлением бэкапа в базу с другим именем.
После развёртывания тестовой копии обязательно изолируйте её от рабочего контура. Отключите в копии регламентные и фоновые задания, обмены с другими системами, отправку почты и синхронизацию с сайтом — иначе тестовая база может отправить реальные письма клиентам или выгрузить тестовые данные в рабочие системы. В типовых конфигурациях для этого есть обработка или настройка блокировки регламентных заданий при копировании.
Добавьте в название тестовой базы явную пометку «ТЕСТ» и при возможности измените оформление интерфейса, чтобы пользователи не перепутали её с рабочей. Случайный ввод реальных документов в тестовую базу — частая причина потери данных.
Проверка результата и хранение копий
Копия считается сделанной только после контрольного развёртывания. Для DT — загрузите файл в пустую базу и войдите в режим предприятия. Для файловой копии — добавьте каталог в список баз и откройте. Для бэкапа СУБД — восстановите в базу с другим именем. Проверьте наличие последних документов, работоспособность отчётов и список пользователей.
Храните копии по правилу «не всё в одном месте»: минимум одна копия на другом физическом носителе или в другом помещении. Определите глубину хранения — например, ежедневные копии за неделю и еженедельные за месяц. Именуйте файлы с датой, чтобы не путать версии.
Как проверить копию
Копия открывается в режиме предприятия без ошибок
Ошибки при загрузке DT или открытии базы — копия непригодна
Последние документы и проводки на месте
Отсутствуют данные за последние часы работы
Регламентные задания и обмены отключены
Тестовая база выполняет обмены или отправляет почту
Частые вопросы о копировании баз 1С
Чем DT отличается от бэкапа SQL и что выбрать?
DT — универсальный формат платформы 1С, не зависящий от СУБД, удобный для передачи и переноса между серверами. Бэкап СУБД быстрее на больших базах и удобнее для автоматизации, но привязан к конкретной СУБД. Для регулярного резервного копирования используйте бэкап СУБД, для передачи и переноса — DT.
Можно ли скопировать базу, пока в ней работают пользователи?
Файл 1Cv8.1CD — нельзя: копия будет несогласованной. Выгрузка DT при активных сеансах завершится ошибкой из-за отсутствия монопольного доступа. Бэкап средствами СУБД делать можно — СУБД обеспечивает консистентность, — но лучше выполнять его в период минимальной нагрузки.
Сколько места нужно для копии базы?
Ориентируйтесь на размер самой базы: файл DT обычно сопоставим с размером данных или меньше за счёт сжатия, бэкап СУБД — сопоставим с размером базы. Перед выгрузкой убедитесь, что на целевом диске свободно минимум в полтора-два раза больше, чем занимает база.
Как автоматизировать создание копий по расписанию?
Для клиент-серверных баз настройте план обслуживания в MS SQL или задание cron с pg_dump для PostgreSQL. Для файловых баз используйте скрипт, который копирует файл 1Cv8.1CD в нерабочее время, и планировщик задач Windows. Периодически проверяйте, что автоматические копии реально создаются и разворачиваются.
Что делать, если копия не открывается?
Для файловой базы попробуйте утилиту chdbfl.exe из каталога платформы — она проверяет физическую целостность файла. Для DT — убедитесь, что версия платформы не ниже той, на которой делалась выгрузка. Если копия была сделана при открытых сеансах, вероятнее всего она непригодна — восстанавливайте из более ранней копии.
Что важно запомнить
Способ копирования зависит от типа базы: файловая — DT или копия 1Cv8.1CD при закрытых сеансах, клиент-серверная — бэкап СУБД. Копия считается сделанной только после контрольного развёртывания. Храните копии отдельно от рабочей базы, а в тестовых копиях отключайте обмены и регламентные задания.