Копирование файловой и серверной базы 1С без потери данных

· 8 мин

Содержание

Файловую базу 1С копируют так же, как любую другую папку: закрыли все сеансы, выделили папку с файлом 1Cv8.1CD, скопировали целиком через проводник (Ctrl+C → Ctrl+V). Главное условие — ни один пользователь не должен быть в базе в момент копирования, иначе в копию попадёт незавершённая транзакция и база окажется битой.

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

Из чего состоит папка файловой базы и что проверить перед копированием

Файловая база — это не один файл, а папка. В ней лежат:

  • 📦 1Cv8.1CD — сама база данных, вся таблица объектов и конфигурация. Это главный файл, ради него всё и затевается.
  • 📝 папка 1Cv8Log — журнал регистрации (кто и когда что делал). Можно копировать, можно не копировать — на работоспособность базы не влияет, только на историю действий.
  • ⚙️ служебные файлы блокировок и настроек, которые платформа создаёт автоматически.

Пользовательский кеш в папке базы НЕ хранится — он лежит в профиле пользователя (%LOCALAPPDATA%\1C\1cv8\<набор символов>) и переносить его не нужно. Новая копия соберёт свой кеш при первом запуске.

Перед копированием сделайте две вещи:

  1. Убедитесь, что в базе никого нет. Откройте список информационных баз в окне запуска 1С — если рядом с базой кто-то работает, его сеанс не даст получить целостную копию.
  2. Посмотрите размер файла 1Cv8.1CD. Если он близок к 4 ГБ — это сигнал: у старых файловых баз был предел, да и работать такая база будет медленно. Копию потом стоит сжать (см. раздел о чистке).

Нельзя копировать папку, пока база открыта хотя бы в одном сеансе. Файл 1Cv8.1CD в этот момент меняется, и копия получится с «оборванной» записью. Внешне она может даже открыться, а потом посыплется.

Как скопировать файловую базу пошагово

Самый надёжный способ для файловой версии — обычное копирование папки средствами Windows.

  1. Закройте 1С:Предприятие и Конфигуратор на всех компьютерах, где открыта эта база.
  2. Найдите папку базы. Путь к ней виден в окне запуска 1С: выделите базу в списке и посмотрите строку пути внизу окна (для файловой базы там указана локальная или сетевая папка).
  3. Откройте эту папку в проводнике на уровень выше, чтобы видеть саму папку целиком.
  4. Выделите папку базы, скопируйте её (Ctrl+C) и вставьте в нужное место (Ctrl+V) — на другой диск, во внешний накопитель или в сетевое хранилище.
  5. Дождитесь окончания копирования полностью. Не прерывайте процесс на большом файле 1Cv8.1CD.

Чтобы работать с копией как с отдельной базой, добавьте её в список:

  1. В окне запуска 1С нажмите Добавить.
  2. Выберите Добавление в список существующей информационной базы.
  3. Укажите имя (например, с пометкой «копия») и путь к скопированной папке — к той, где лежит 1Cv8.1CD.
  4. Нажмите Готово. Теперь в списке две записи: рабочая база и её копия, они не связаны между собой.
Копирование файловой базы 1С
Выполнено: 0 / 5

Для большой базы или копирования по сети надёжнее не перетаскивать папку мышью, а скопировать через robocopy — она дописывает прерванную передачу и не споткнётся на длинных путях. Команду запускают в командной строке:

robocopy "C:\Bases\Buh" "D:\Backup\Buh_copy" /E /COPY:DAT /R:2 /W:5

Здесь /E копирует вложенные папки (журнал регистрации), /R:2 и /W:5 ограничивают повторы при сбоях. База при этом так же должна быть закрыта.

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

Клиент-серверная база: почему папку скопировать нельзя

В клиент-серверном варианте данные хранятся не в файле 1Cv8.1CD, а в базе данных СУБД (PostgreSQL, MS SQL Server и др.) на сервере. На диске сервера 1С нет папки, которую можно было бы «скопировать проводником», — есть служебные каталоги кластера, но они не являются базой и переносу не подлежат.

Поэтому для клиент-серверной базы работают два подхода:

СпособЧто делаетКогда выбрать
Выгрузка в .dt (Конфигуратор)Платформа сама выгружает все данные в один файлПеренос между серверами, в файловый вариант, архив перед работами
Резервная копия средствами СУБДDBMS делает бэкап своей базы (.bak, pg_dump)Большие базы, регулярное резервирование, быстрое восстановление

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

Резервная копия СУБД быстрее и подходит для расписания, но восстанавливается только в ту же СУБД и требует прав на сервере баз данных. Этим обычно занимается администратор.

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

Прежде чем останавливать серверные сеансы или блокировать базу для выгрузки — предупредите пользователей. Выгрузка .dt требует, чтобы в базе никого не было, иначе платформа не даст установить монопольный доступ.

Выгрузка базы через режим Конфигуратор

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

Чтобы выгрузить:

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

Чтобы развернуть этот файл как новую базу:

  1. Создайте пустую базу: в окне запуска Добавить → Создание новой информационной базы → Создание без конфигурации.
  2. Откройте новую базу в Конфигуратор.
  3. Выберите Администрирование → Загрузить информационную базу и укажите ваш .dt.

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

Выгрузка .dt переносит данные между разными СУБД и между серверным и файловым вариантом. Обычное копирование папки работает только для файловой базы и только «как есть», без смены формата.

Проверка целостности и чистка скопированной базы

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

Запустите копию в Конфигуратор и откройте Администрирование → Тестирование и исправление информационной базы. В окне есть несколько проверок:

  • 🔍 Проверка логической целостности — ищет нарушения ссылок и структуры.
  • 🔧 Проверка ссылочной целостности — находит «битые» ссылки на удалённые объекты; можно задать, что делать с ними (создавать объекты, очищать ссылки).
  • 📉 Реструктуризация таблиц — физически перестраивает и сжимает таблицы. Именно она уменьшает раздувшийся файл 1Cv8.1CD.

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

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

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

Типичные ошибки при копировании и как их устранить

Диагностика: выберите симптом

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

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

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

Можно ли скопировать папку с базой, пока в ней работают люди?
Нет. В момент копирования файл базы меняется, и копия получится повреждённой. Сначала завершите все сеансы, потом копируйте.
Чем копирование папки отличается от выгрузки в `.dt`?
Копия папки — побайтовый дубль файловой базы «как есть», быстро и просто, но только для файлового варианта. Выгрузка .dt — это один переносимый файл, который грузится в любой вариант и в любую СУБД, но делается дольше.
Копия базы связана с оригиналом?
Нет. Это две независимые базы. Изменения в одной не попадают в другую. Если нужна синхронизация — это уже обмен данными, а не копирование.
Нужно ли копировать журнал регистрации и кеш?
Журнал (1Cv8Log) — по желанию, на работу базы он не влияет. Пользовательский кеш копировать не нужно, он хранится в профиле пользователя и пересоздаётся сам.
Как скопировать клиент-серверную базу, если папки нет?
Через Конфигуратор: Администрирование → Выгрузить информационную базу в файл .dt, затем загрузить его в новую базу. Либо резервной копией средствами СУБД — это делает администратор сервера.