Копия информационной базы 1С 8.3: файловый вариант, сервер 1С и SQL

· 9 мин

Содержание

Самый универсальный способ сделать копию базы 1С — открыть её в Конфигураторе и выбрать Администрирование → Выгрузить информационную базу. Получится один файл .dt. Его загружают в новую пустую базу через Администрирование → Загрузить информационную базу. Способ одинаково работает для файловой и клиент-серверной базы.

Частое заблуждение — считать, что для копирования хватит скопировать ярлык базы или строку из списка запуска. Список в окне запуска хранит только путь к базе. Сами данные лежат в файле 1Cv8.1CD (файловый вариант) или в базе данных СУБД (серверный вариант). Копировать нужно именно их.

С чего начать: тип базы и цель копии

Сначала поймите, с какой базой вы работаете. Выделите её в окне запуска 1С и посмотрите строку под списком:

  • 📁 File="D:\Bases\Buh" — файловая база. Все данные в одном файле 1Cv8.1CD внутри этой папки.
  • 🖥️ Srvr="srv1c";Ref="buh" — клиент-серверная база . Данные хранятся в СУБД (MS SQL Server или PostgreSQL), а 1С обращается к ним через кластер серверов .

Второй вопрос — зачем нужна копия. От ответа зависит способ:

ЦельЧто подходит лучше
Резервная копия перед обновлениемВыгрузка .dt или копия папки (для файловой)
Тестовая база для экспериментовВыгрузка .dt и загрузка в новую базу
Перенос на другой компьютер или сервер.dt или бэкап средствами СУБД
Ежедневное резервирование большой серверной базыБэкап средствами СУБД по расписанию

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

Для выгрузки и загрузки нужен пользователь с правами администратора в базе. Если в базе нет ни одного пользователя, Конфигуратор откроется без пароля.

Копирование файловой базы 1С через Конфигуратор

Способ 1. Выгрузка в файл .dt

  1. В окне запуска выберите базу и нажмите Конфигуратор.
  2. В меню выберите Администрирование → Выгрузить информационную базу....
  3. Укажите папку и имя файла, например D:\Backup\buh_2026-10-07.dt.
  4. Нажмите Сохранить и дождитесь сообщения о завершении выгрузки.

Пока идёт выгрузка, пользователи могут оставаться в базе. Но если кто-то в этот момент проводит документы, в копию попадёт состояние «на середине». Для резервной копии перед обновлением лучше попросить всех выйти.

Способ 2. Создание новой базы из копии

Файл .dt — это ещё не рабочая база. Чтобы открыть копию, её нужно развернуть:

  1. В окне запуска нажмите Добавить.
  2. Выберите Создание новой информационной базы → Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы.
  3. Задайте понятное имя, например «Бухгалтерия — КОПИЯ», и новую пустую папку.
  4. Откройте новую базу в Конфигураторе.
  5. Выберите Администрирование → Загрузить информационную базу... и укажите файл .dt.
  6. Подтвердите загрузку и согласитесь на перезапуск Конфигуратора.

Загружайте .dt только в новую пустую базу. Загрузка полностью заменяет данные и конфигурацию базы-приёмника, отменить её нельзя.

Способ 3. Копия папки с файлом 1Cv8.1CD

Для файловой базы есть ещё более простой путь — скопировать каталог целиком.

  1. Убедитесь, что из базы вышли все пользователи. Пока база открыта хотя бы одним сеансом, файл 1Cv8.1CD заблокирован, а копия может оказаться повреждённой.
  2. Скопируйте всю папку базы, а не только 1Cv8.1CD. В ней же лежит каталог 1Cv8Log с журналом регистрации.
  3. Положите копию в новое место и добавьте её в список: Добавить → Добавление в список существующей информационной базы, укажите новую папку.

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

Копия серверной базы через консоль кластера 1С

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

Шаг 1. Создайте новую базу в кластере

  1. Откройте Администрирование серверов 1С Предприятия.
  2. Раскройте Центральные серверы 1С:Предприятия → имя сервера → Кластеры → кластер.
  3. Правой кнопкой по узлу Информационные базы → Создать → Информационная база.
  4. Заполните поля:
    • имя базы в кластере, например buh_test;
    • сервер баз данных и тип СУБД;
    • имя новой базы данных в СУБД;
    • пользователь и пароль СУБД.
  5. Отметьте флажок Создать базу данных в случае ее отсутствия.
  6. Отметьте Установить блокировку регламентных заданий.
  7. Нажмите ОК.

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

Шаг 2. Перенесите данные

  1. Откройте исходную базу в Конфигураторе и выгрузите .dt, как в разделе про файловую базу .
  2. Добавьте новую базу в окно запуска: Добавить → Добавление в список существующей информационной базы, тип На сервере 1С:Предприятия, кластер и имя buh_test.
  3. Откройте её в Конфигураторе и загрузите .dt через Администрирование → Загрузить информационную базу....

Загрузка .dt требует монопольного доступа к базе-приёмнику. Если в новую базу уже кто-то зашёл, загрузка не начнётся.

Копирование базы 1С средствами SQL Server и PostgreSQL

Для больших серверных баз (десятки гигабайт и больше) выгрузка .dt может идти часами. Бэкап средствами СУБД обычно быстрее и не нагружает сервер 1С.

MS SQL Server

Создайте резервную копию через SQL Server Management Studio: правой кнопкой по базе → Tasks → Back Up.... Или запросом:

BACKUP DATABASE [buh]
TO DISK = N'D:\Backup\buh.bak'
WITH COPY_ONLY, COMPRESSION, STATS = 10;

COPY_ONLY нужен, чтобы разовая копия не сбила цепочку плановых резервных копий.

Чтобы восстановить её как новую базу, сначала узнайте логические имена файлов:

RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh.bak';

Затем восстановите под новым именем, подставив свои логические имена:

RESTORE DATABASE [buh_test]
FROM DISK = N'D:\Backup\buh.bak'
WITH MOVE N'buh'     TO N'E:\SQLData\buh_test.mdf',
     MOVE N'buh_log' TO N'E:\SQLData\buh_test_log.ldf',
     STATS = 10;

PostgreSQL

pg_dump -U postgres -Fc -f /backup/buh.dump buh
createdb -U postgres -T template0 buh_test
pg_restore -U postgres -d buh_test /backup/buh.dump

Регистрация восстановленной базы в 1С

Сама по себе база в СУБД ещё не видна в 1С. Зарегистрируйте её в кластере так же, как в разделе выше, но с двумя отличиями:

  • в поле имени базы данных укажите имя восстановленной базы (buh_test);
  • флажок Создать базу данных в случае ее отсутствия снимите.

Блокировку регламентных заданий так же включите.

Сравнение способов копирования базы

СпособТип базыКогда выбиратьРиски и ограничения
Выгрузка .dtЛюбойТестовая копия, перенос, копия перед обновлениемДолго на больших базах; загрузка требует монопольного доступа
Копия папкиФайловыйБыстрая копия небольшой базыНужно, чтобы все вышли; копирует повреждения
Бэкап SQL / pg_dumpСерверныйБольшие базы, ежедневное резервированиеНужен доступ к СУБД; базу надо регистрировать в кластере
Резервное копирование из режима ПредприятиеФайловыйПользователю без доступа к КонфигураторуЕсть не во всех конфигурациях, только для файлового варианта

Последний способ есть в типовых конфигурациях на БСП: Администрирование → Обслуживание → Резервное копирование и восстановление. Он делает копию файловой базы и умеет запускаться по расписанию.

Какой способ копирования вам подходит?

Восстановление из копии и проверка её целостности

Копия, которую ни разу не открывали, — не гарантия. Проверьте её сразу после создания.

Что сделать при первом запуске копии

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

Сразу после этого:

  • ✏️ переименуйте базу в окне запуска, чтобы в названии было слово «КОПИЯ»;
  • 🔒 в Конфигураторе или в карточке базы в кластере проверьте, что блокировка регламентных заданий стоит;
  • 📊 сформируйте оборотно-сальдовую ведомость за последний месяц в обеих базах и сравните итоги.

Тестирование и исправление

Если копия ведёт себя странно (ошибки при открытии документов, пустые отчёты), проверьте её:

  1. Сделайте отдельную копию проверяемой базы, чтобы исправление можно было откатить.
  2. Откройте Конфигуратор и выберите Администрирование → Тестирование и исправление....
  3. Для начала включите только Проверка логической целостности информационной базы и режим «Только тестирование».
  4. Посмотрите отчёт. Исправлять по нему стоит, только понимая, что именно будет изменено.

Для файловых баз есть утилита chdbfl.exe в каталоге bin установленной платформы. Она проверяет физическую структуру файла 1Cv8.1CD и работает, только когда базу никто не открыл.

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

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

Ручная копия раз в месяц не спасёт от сбоя диска во вторник. Настройте регулярное резервирование одним из способов.

Пакетный файл и Планировщик заданий Windows

Конфигуратор умеет выгружать базу из командной строки. Пример .bat для файловой базы:

@echo off
set DT=%date:~-4%-%date:~3,2%-%date:~0,2%
"C:\Program Files\1cv8\8.3.25.1394\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB "D:\Backup\buh_%DT%.dt" /Out "D:\Backup\log.txt"

Для серверной базы замените /F"..." на /S"srv1c\buh". Номер версии в пути подставьте свой: он виден в папке C:\Program Files\1cv8\. Формат даты в %date% зависит от региональных настроек Windows, проверьте результат на своём компьютере.

Затем в Планировщике заданий создайте задачу с запуском этого файла ночью, например в 02:00.

Пароль в .bat хранится открытым текстом. Заведите для выгрузки отдельного пользователя 1С и закройте доступ к папке со скриптом.

Планы обслуживания SQL Server

В SSMS: Management → Maintenance Plans. Обычная схема для базы 1С:

  • полная копия раз в сутки ночью;
  • копии журнала транзакций каждые 1–2 часа, если база в модели восстановления Full;
  • удаление файлов старше 14–30 дней.

Для PostgreSQL то же делают через cron и pg_dump.

Сколько копий хранить

Рабочее правило: 7 ежедневных, 4 еженедельных и 12 ежемесячных копий. Хотя бы одна копия должна лежать не на том же диске и не на том же сервере, где работает база.

Регулярное резервирование настроено, если:
Выполнено: 0 / 5

Частые ошибки при копировании

  • ❌ Копия перезаписала рабочую базу. Загрузили .dt не в ту строку списка. Перед загрузкой проверьте путь в заголовке окна Конфигуратора.
  • ❌ Копия отправила отчёт или загрузила выписку. Не включили блокировку регламентных заданий и при первом запуске выбрали «база перемещена».
  • ❌ «Не хватает места на диске» при загрузке. Учитывайте, что развёрнутая база в разы больше файла .dt.
  • ❌ Ошибка доступа при копировании папки. Кто-то из пользователей не вышел, или висит фоновый сеанс. Проверьте процессы 1cv8.exe и 1cv8c.exe на компьютере с базой. Завершать их можно только после предупреждения пользователей: несохранённые данные пропадут.
  • ❌ Восстановленная в SQL база не открывается в 1С. При регистрации в кластере оставили флажок создания новой базы данных или указали другое имя базы данных в СУБД.
Можно ли загрузить .dt в базу на другой версии платформы?
Можно, если номер версии платформы, в которую загружаете, не ниже той, из которой выгружали. В обратную сторону загрузка не гарантирована.
Сохраняются ли в .dt пользователи и пароли?
Да. Список пользователей информационной базы переносится вместе с данными, поэтому в копию входят под теми же логинами.
Нужна ли отдельная лицензия для копии базы?
Лицензия считается на сеансы пользователей, а не на число баз. Открытая копия занимает лицензию так же, как рабочая база.
Можно ли выгрузить .dt без Конфигуратора?
Через командную строку 1cv8.exe DESIGNER ... /DumpIB — да, но это тот же Конфигуратор в пакетном режиме, и права администратора базы всё равно нужны.