Копирование файловой и серверной базы 1С без потери данных
Содержание
Файловую базу
1С копируют так же, как любую другую папку: закрыли все сеансы, выделили папку с файлом 1Cv8.1CD, скопировали целиком через проводник (Ctrl+C → Ctrl+V). Главное условие — ни один пользователь не должен быть в базе в момент копирования, иначе в копию попадёт незавершённая транзакция и база окажется битой.
Если база клиент-серверная (данные лежат в PostgreSQL или MS SQL, а не в файле), то копировать папку бесполезно — копировать нечего. Там другой путь: выгрузка через Конфигуратор в файл .dt или резервная копия средствами СУБД. Ниже — оба варианта, подготовка, проверка целостности скопированной базы и разбор ошибок, из-за которых копия не открывается.
Из чего состоит папка файловой базы и что проверить перед копированием
Файловая база — это не один файл, а папка. В ней лежат:
- 📦
1Cv8.1CD— сама база данных, вся таблица объектов и конфигурация. Это главный файл, ради него всё и затевается. - 📝 папка
1Cv8Log— журнал регистрации (кто и когда что делал). Можно копировать, можно не копировать — на работоспособность базы не влияет, только на историю действий. - ⚙️ служебные файлы блокировок и настроек, которые платформа создаёт автоматически.
Пользовательский кеш в папке базы НЕ хранится — он лежит в профиле пользователя (%LOCALAPPDATA%\1C\1cv8\<набор символов>) и переносить его не нужно. Новая копия соберёт свой кеш при первом запуске.
Перед копированием сделайте две вещи:
- Убедитесь, что в базе никого нет. Откройте список информационных баз в окне запуска 1С — если рядом с базой кто-то работает, его сеанс не даст получить целостную копию.
- Посмотрите размер файла
1Cv8.1CD. Если он близок к 4 ГБ — это сигнал: у старых файловых баз был предел, да и работать такая база будет медленно. Копию потом стоит сжать (см. раздел о чистке).
Нельзя копировать папку, пока база открыта хотя бы в одном сеансе. Файл 1Cv8.1CD в этот момент меняется, и копия получится с «оборванной» записью. Внешне она может даже открыться, а потом посыплется.
Как скопировать файловую базу пошагово
Самый надёжный способ для файловой версии — обычное копирование папки средствами Windows.
- Закройте 1С:Предприятие и Конфигуратор на всех компьютерах, где открыта эта база.
- Найдите папку базы. Путь к ней виден в окне запуска 1С: выделите базу в списке и посмотрите строку пути внизу окна (для файловой базы там указана локальная или сетевая папка).
- Откройте эту папку в проводнике на уровень выше, чтобы видеть саму папку целиком.
- Выделите папку базы, скопируйте её (
Ctrl+C) и вставьте в нужное место (Ctrl+V) — на другой диск, во внешний накопитель или в сетевое хранилище. - Дождитесь окончания копирования полностью. Не прерывайте процесс на большом файле
1Cv8.1CD.
Чтобы работать с копией как с отдельной базой, добавьте её в список:
- В окне запуска 1С нажмите
Добавить. - Выберите
Добавление в список существующей информационной базы. - Укажите имя (например, с пометкой «копия») и путь к скопированной папке — к той, где лежит
1Cv8.1CD. - Нажмите
Готово. Теперь в списке две записи: рабочая база и её копия, они не связаны между собой.
Для большой базы или копирования по сети надёжнее не перетаскивать папку мышью, а скопировать через 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 — штатный способ сделать переносимую копию любой базы, и файловой, и серверной. Файл получается один, внутри — все данные и сама конфигурация.
Чтобы выгрузить:
- Запустите базу в режиме
Конфигуратор. - В меню выберите
Администрирование → Выгрузить информационную базу. - Укажите имя и папку для файла
.dt. - Дождитесь завершения. Платформа попросит, чтобы в базе не было активных сеансов.
Чтобы развернуть этот файл как новую базу:
- Создайте пустую базу: в окне запуска
Добавить → Создание новой информационной базы → Создание без конфигурации. - Откройте новую базу в
Конфигуратор. - Выберите
Администрирование → Загрузить информационную базуи укажите ваш.dt.
Загрузка .dt полностью затирает данные той базы, в которую грузите. Поэтому грузите только в новую или специально подготовленную пустую базу, а не поверх рабочей. Для загрузки платформе нужен монопольный доступ — все остальные сеансы должны быть завершены.
Выгрузка .dt переносит данные между разными СУБД и между серверным и файловым вариантом. Обычное копирование папки работает только для файловой базы и только «как есть», без смены формата.
Проверка целостности и чистка скопированной базы
Копию стоит проверить до того, как начать в ней работать, — особенно если копировали большую или давно не обслуживавшуюся базу.
Запустите копию в Конфигуратор и откройте Администрирование → Тестирование и исправление информационной базы. В окне есть несколько проверок:
- 🔍 Проверка логической целостности — ищет нарушения ссылок и структуры.
- 🔧 Проверка ссылочной целостности — находит «битые» ссылки на удалённые объекты; можно задать, что делать с ними (создавать объекты, очищать ссылки).
- 📉 Реструктуризация таблиц — физически перестраивает и сжимает таблицы. Именно она уменьшает раздувшийся файл
1Cv8.1CD.
Для тестирования и исправления тоже нужен монопольный доступ — база должна быть закрыта во всех остальных сеансах.
Порядок простой: сначала запускаете тестирование в режиме только проверки (без исправлений), смотрите отчёт, потом при необходимости — с исправлением. Для копии-«песочницы» можно сразу включить и реструктуризацию, чтобы сжать файл.
Тестирование с исправлением и реструктуризацией меняет данные. На рабочей базе делайте его только после отдельной резервной копии и в нерабочее время — операция может идти долго и прервать работу.
Типичные ошибки при копировании и как их устранить
.dt или бэкап средствами СУБД.Ещё одна частая ситуация — копирование по сети. Если база лежит в общей сетевой папке, копируйте её на локальный диск: работа файловой базы по сети медленная и чувствительна к обрывам связи. Для многопользовательской работы файловый вариант по сети вообще не рекомендуется — там правильнее клиент-серверная база .
И последнее про безопасность данных. Копия базы — это полный дубль всей информации: контрагенты, зарплата, персональные данные сотрудников. Копию нельзя оставлять на общем диске или флешке «до лучших времён». Храните её там же, где и рабочие резервные копии, с тем же ограничением доступа, а ненужные копии удаляйте, а не копите папками Buh_copy1, Buh_copy2 и так далее.
Частые вопросы
Можно ли скопировать папку с базой, пока в ней работают люди?
Чем копирование папки отличается от выгрузки в `.dt`?
.dt — это один переносимый файл, который грузится в любой вариант и в любую СУБД, но делается дольше.Копия базы связана с оригиналом?
Нужно ли копировать журнал регистрации и кеш?
1Cv8Log) — по желанию, на работу базы он не влияет. Пользовательский кеш копировать не нужно, он хранится в профиле пользователя и пересоздаётся сам.Как скопировать клиент-серверную базу, если папки нет?
Администрирование → Выгрузить информационную базу в файл .dt, затем загрузить его в новую базу. Либо резервной копией средствами СУБД — это делает администратор сервера.