Делаем копию базы 1С 8.3: от файловой до клиент-серверной

· 9 мин

Содержание

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

Файловую базу до пары гигабайт быстрее всего скопировать как обычную папку. Серверную базу на десятки гигабайт через .dt выгружать можно часами, поэтому для неё берут бэкап на уровне СУБД. Ниже — каждый способ по шагам, с точными пунктами меню и проверкой готовой копии.

Какой способ выбрать под ваш тип базы

Сначала определите, файловая у вас база или клиент-серверная. Это видно в окне запуска 1С: в списке информационных баз снизу показан путь. Если это путь к папке на диске (File="D:\Bases\Buh") — база файловая. Если указаны Srvr и Ref (имя сервера и имя базы в кластере) — база серверная.

От этого зависит выбор метода:

  • 📁 Файловая база, небольшая (до ~2 ГБ) — копируйте папку целиком в проводнике. Самый быстрый путь.
  • 📁 Файловая база, нужна переносимая копия — выгрузите в .dt через Конфигуратор. Один файл удобно хранить и передавать.
  • 🗄️ Серверная база, большая — снимайте бэкап средствами СУБД (SQL Server или PostgreSQL). Десятки гигабайт копируются минутами, а не часами.
  • 🗄️ Серверная база, перенос между разными СУБД или версиями платформы — только .dt: он не зависит от типа СУБД.
Какой способ копирования подойдёт вашей базе?

Размер базы грубо оцените заранее. Для файловой — по размеру файла 1Cv8.1CD в папке. Для серверной — по размеру базы данных в СУБД. От размера зависит и время копирования, и выбор способа: до пары гигабайт разницы почти нет, на десятках гигабайт .dt становится неоправданно медленным.

Любой способ, кроме бэкапа СУБД «на горячую», требует, чтобы пользователи вышли из базы. Предупредите коллег заранее: во время копирования работать в базе нельзя.

Выгрузка в файл .dt через Конфигуратор

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

Порядок действий:

  1. Попросите всех пользователей выйти из базы.
  2. Запустите базу в режиме Конфигуратор.
  3. Откройте меню Администрирование → Выгрузить информационную базу.
  4. Укажите имя и папку для файла (например, Buh_2026-10-07.dt) и нажмите Сохранить.
  5. Дождитесь сообщения об успешной выгрузке.

Чтобы развернуть копию из .dt, создайте новую пустую базу и загрузите в неё файл:

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

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

Для больших серверных баз .dt работает медленно: выгрузка базы на 40–50 ГБ может идти несколько часов. Для таких объёмов берите бэкап средствами СУБД (следующий раздел), а .dt оставьте для переноса между разными серверами и СУБД.

Копирование серверной базы средствами СУБД

Клиент-серверная база физически хранится в СУБД — Microsoft SQL Server или PostgreSQL. Самый быстрый способ её скопировать — снять штатный бэкап базы данных, а затем восстановить его под новым именем. Платформа 1С при этом не участвует, работать с базой во время бэкапа можно (кроме момента восстановления).

Microsoft SQL Server. Через SQL Server Management Studio: правой кнопкой на базе → Tasks → Back Up. Либо запросом:

BACKUP DATABASE [buh_base] TO DISK = N'D:\Backup\buh_base.bak' WITH INIT;

RESTORE DATABASE [buh_base_copy]
  FROM DISK = N'D:\Backup\buh_base.bak'
  WITH MOVE 'buh_base' TO 'D:\MSSQL\DATA\buh_base_copy.mdf',
       MOVE 'buh_base_log' TO 'D:\MSSQL\DATA\buh_base_copy_log.ldf';

PostgreSQL. Через pg_dump и восстановление в новую базу:

pg_dump -U postgres -F c -f buh_base.backup buh_base
createdb -U postgres buh_base_copy
pg_restore -U postgres -d buh_base_copy buh_base.backup

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

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

Имена файлов и серверов в примерах — ваши собственные. Логин, пароль СУБД и пути к файлам подставьте под свой сервер.

Клонирование через консоль администрирования кластера

Если нужно развернуть копию на том же сервере 1С, воспользуйтесь консолью администрирования кластера (оснастка Администрирование серверов 1С Предприятия) или утилитой командной строки rac.

Чтобы создать новую информационную базу в кластере:

  1. Откройте консоль, разверните ветку кластера → Информационные базы.
  2. Добавьте базу: задайте имя (buh_base_copy), сервер СУБД, тип СУБД и имя базы данных.
  3. Если данные уже восстановлены средствами СУБД — снимите флаг создания базы данных, чтобы платформа подключилась к готовой копии. Если создаёте с нуля — оставьте флаг и затем загрузите в базу .dt.

Те же действия через rac: список кластеров и баз смотрят командами rac cluster list и rac infobase summary list. Точный синтаксис создания базы зависит от версии платформы — сверьтесь со справкой rac help, чтобы не ошибиться в параметрах.

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

Ручное копирование файловой базы в проводнике

Для файловой базы это самый быстрый способ. Файловая база — это папка с файлом данных 1Cv8.1CD; скопировать её можно как любую другую папку.

Порядок:

  1. Все пользователи выходят из базы. Проверьте, что в папке нет файла блокировки 1Cv8.cdn — если он есть, значит кто-то ещё в базе.
  2. Узнайте путь к базе: в окне запуска выделите базу — путь показан внизу окна.
  3. Скопируйте всю папку базы в новое место (например, с D:\Bases\Buh на E:\Backup\Buh_copy).
  4. Подключите копию как отдельную базу: Добавить → Добавление в список существующей информационной базы, укажите путь к новой папке.

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

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

Нельзя копировать файл 1Cv8.1CD, пока база открыта хотя бы одним пользователем. Копия получится с частично записанными данными и может не открыться. Сначала убедитесь, что все вышли.

Проверка и тестирование готовой копии

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

Физическая целостность файловой базы. Для файла 1Cv8.1CD есть отдельная утилита chdbfl.exe — она лежит в каталоге bin установленной платформы (C:\Program Files\1cv8\<номер версии>\bin\chdbfl.exe). Запустите её, укажите путь к файлу копии, отметьте Исправлять обнаруженные ошибки и нажмите Выполнить. Утилита проверит физическую структуру файла.

Логическая и ссылочная целостность. Запустите копию в Конфигураторе и откройте Администрирование → Тестирование и исправление. Отметьте нужные проверки (реиндексация таблиц, проверка логической и ссылочной целостности) и запустите. Для копии, которую будете использовать как тестовую, достаточно реиндексации и проверки целостности.

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

Если копию делаете под тесты или обновление, сразу переименуйте её в списке баз понятно — например, Бухгалтерия (КОПИЯ для тестов). Так никто случайно не проведёт документы в тестовой базе, приняв её за рабочую.

Автоматическое копирование базы по расписанию

Если копия нужна не разово, а регулярно, настройте копирование по расписанию — так свежий бэкап будет всегда под рукой, без ручных действий.

Файловая база. В типовых конфигурациях (Бухгалтерия предприятия, ЗУП, Управление торговлей) есть встроенная настройка резервного копирования в разделе Администрирование → Обслуживание. Там задаётся папка для копий, периодичность (например, ежедневно при завершении работы) и срок хранения старых копий. Копии складываются в выбранную папку и восстанавливаются оттуда же средствами конфигурации.

Серверная база. Автоматическое копирование настраивают на уровне СУБД: в SQL Server — через задание Maintenance Plan в SQL Server Agent, в PostgreSQL — регламентным запуском pg_dump (например, через планировщик задач или cron). Платформа 1С в этом не участвует, бэкап снимается без остановки работы.

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

Частые проблемы при копировании и как их обойти

Копия не открывается, ошибка о повреждении файла. Чаще всего — файл скопировали при открытой базе. Повторите копирование после того, как все вышли; для уже скопированного файла попробуйте chdbfl.exe с исправлением ошибок.

Загрузка .dt идёт очень долго или прерывается. Для больших серверных баз это нормально. Не ждите — переходите на бэкап средствами СУБД, он кратно быстрее.

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

Не хватает места на диске при выгрузке .dt. Файл .dt сжат, но на диске временно нужно место и под него, и под служебные файлы. Освободите место заранее или выгружайте на другой диск.

Можно ли скопировать базу 1С без выхода пользователей?
Без остановки работы можно снять только бэкап средствами СУБД (SQL Server или PostgreSQL) — он снимается «на горячую». Копирование файла 1Cv8.1CD и выгрузка .dt требуют, чтобы все вышли из базы.
Чем отличается копия через .dt от копии папки?
Файл .dt — это упакованный архив базы: один переносимый файл, не зависит от типа СУБД, но разворачивается медленнее. Копия папки с 1Cv8.1CD — это точный слепок файловой базы, быстрее, но подходит только для файлового варианта.
Как перенести серверную базу на другой сервер с другой СУБД?
Через .dt: выгрузите базу в Конфигураторе на старом сервере, создайте пустую базу в кластере на новом сервере (с нужной СУБД) и загрузите .dt в неё. Бэкап уровня СУБД между разными типами СУБД не переносится.
Нужна ли та же версия платформы, чтобы открыть копию?
Копию можно открыть на той же или более новой версии платформы. На версии ниже той, в которой создана база, открыть её не получится — платформа выдаст ошибку о несовместимости.
Что делать, если нужна копия для обновления конфигурации?
Сделайте копию любым способом, разверните её как отдельную базу и обновляйте уже копию. Так рабочая база останется нетронутой, а результат обновления можно проверить до переноса в продуктив.