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

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

Как сделать копию хранилища 1С

Как сделать копию хранилища конфигурации 1С: выгрузка через конфигуратор, копирование каталога, восстановление из копии. Пошаговые инструкции и меры безопасности.

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

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

Важно различать копию хранилища и копию информационной базы. Хранилище — это отдельная сущность, в которой живут версии конфигурации для коллективной разработки. Копия самой базы (.dt-выгрузка или копия файла 1Cv8.1CD) не содержит истории хранилища, и наоборот. Ниже разберём оба направления, но акцент сделаем именно на хранилище конфигурации.

Что такое хранилище конфигурации и где оно находится

Хранилище конфигурации — это специальный каталог (для файлового варианта) или набор таблиц на сервере 1С:Предприятия (для клиент-серверного варианта), где платформа складывает версии конфигурации и служебную информацию о захвате объектов разработчиками. Типичный признак файлового хранилища — каталог, внутри которого лежит файл 1cv8ddb.1cda или похожие служебные файлы, а также подкаталоги с данными версий.

Путь к хранилищу можно посмотреть в конфигураторе: откройте меню «Конфигурация» → «Хранилище конфигурации» → «Параметры хранилища» — там будет указан каталог подключения. Если хранилище размещено на сетевом ресурсе, убедитесь, что у вас есть права на чтение и запись в этот каталог на уровне операционной системы.

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

Подготовка: что проверить перед копированием

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

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

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

Способ 1. Выгрузка хранилища через конфигуратор

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

Порядок действий
  1. 1
    Откройте конфигуратор под пользователем с правами администратора хранилища
  2. 2
    Убедитесь, что конфигурация подключена к хранилищу (меню Конфигурация → Хранилище конфигурации)
  3. 3
    Выберите пункт «Сохранить хранилище в файл» в меню хранилища конфигурации
  4. 4
    Укажите путь и имя файла выгрузки, дождитесь завершения операции
  5. 5
    Проверьте, что файл создан и его размер больше нуля
  6. 6
    Скопируйте файл на отдельный носитель или в резервное хранилище

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

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

Способ 2. Копирование каталога хранилища целиком

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

Порядок такой: убедитесь, что никто не подключён к хранилищу; скопируйте каталог через проводник, командную строку или скрипт; после завершения сравните количество файлов и общий размер источника и копии. Для регулярного резервного копирования удобно автоматизировать задачу через планировщик заданий Windows.

bat
xcopy "D:\1C_Storage\MainStorage" "E:\Backups\Storage_%date:~6,4%-%date:~3,2%-%date:~0,2%\" /E /I /H /Y

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

Сравнение вариантов

Выгрузка через конфигуратор

Подходит для переноса и архивации, корректна для любого типа хранилища; ограничение — требует монопольного доступа и времени на больших объёмах

Копирование каталога

Быстрый вариант для файлового хранилища и регулярных копий; ограничение — обязательно отключение всех пользователей, иначе копия будет повреждена

Резервная копия на уровне СУБД

Для клиент-серверного размещения; ограничение — требует навыков администрирования СУБД и согласования с общим регламентом бэкапов

Не путайте: копия хранилища и копия информационной базы

Частая путаница: администратор делает выгрузку базы в .dt и считает, что хранилище тоже сохранено. Это не так. Файл .dt содержит данные и текущую конфигурацию базы, но не содержит истории версий хранилища и информации о захваченных объектах. Аналогично копия хранилища не заменяет копию базы — в ней нет ни одного документа.

Минимально правильная схема резервного копирования для команды разработки: ежедневная копия информационной базы (через .dt, копию 1Cv8.1CD для файлового режима или средствами СУБД) плюс регулярная копия каталога хранилища. Периодичность копий хранилища зависит от интенсивности разработки: при активной работе нескольких разработчиков разумно копировать ежедневно.

Проверка результата и восстановление из копии

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

Полноценная проверка — тестовое восстановление. Создайте пустую информационную базу, откройте её конфигуратор и подключите к копии хранилища (указав скопированный каталог или загрузив хранилище из файла). Затем выполните «Получить из хранилища» или загрузите конфигурацию из хранилища. Если конфигурация загрузилась и история версий отображается — копия рабочая.

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

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

Размер и состав копии каталога
Норма

Число файлов и объём совпадают с источником

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

Часть файлов отсутствует или размер заметно меньше

Подключение к копии хранилища
Норма

Конфигуратор подключается, история версий открывается

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

Ошибка подключения или пустая история версий

Загрузка конфигурации из копии
Норма

Конфигурация загружается без ошибок

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

Ошибки чтения версий или повреждённые объекты

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

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

Типичные ошибки
01
Копирование каталога при подключённых пользователях — копия получается рассогласованной и не открывается при восстановлении
02
Копирование только части каталога хранилища — история версий оказывается повреждена
03
Уверенность, что .dt или .cf заменяют копию хранилища — история версий теряется безвозвратно
04
Хранение копии на том же диске, что и само хранилище — при отказе диска теряется и оригинал, и копия
05
Отсутствие тестового восстановления — о повреждении копии узнают только в момент аварии

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

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

Итог

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

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

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

Можно ли скопировать хранилище, не отключая пользователей?

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

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

Ориентируйтесь на интенсивность разработки. Если над конфигурацией ежедневно работают несколько разработчиков, разумна ежедневная копия. При редких изменениях достаточно копии после каждого значимого этапа — например, после завершения доработки перед помещением в рабочую базу. Потеря истории за день-два обычно восстановима из рабочих баз разработчиков, потеря за месяцы — нет.

Чем копия хранилища отличается от выгрузки конфигурации в .cf?

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

Как восстановить хранилище из копии на новом сервере?

Скопируйте каталог хранилища на новый сервер, создайте или откройте информационную базу в конфигураторе и подключите её к хранилищу, указав новый путь (Конфигурация → Хранилище конфигурации → Подключиться). Если копия сделана выгрузкой в файл, сначала выполните загрузку хранилища из файла. После подключения проверьте, что история версий отображается и конфигурация из хранилища загружается без ошибок.

Где хранить копии, чтобы они не пропали вместе с оригиналом?

Минимальное правило — физически отдельное устройство или сетевое хранилище, а не другой раздел того же диска. Хорошая практика — копии в двух местах: локально для быстрого восстановления и в удалённом хранилище (другой сервер, облачное хранилище) на случай отказа всего оборудования площадки. Также ограничьте права на каталог с копиями, чтобы их нельзя было случайно удалить.