Администрирование · 10 мин
Как выгрузить копию базы 1С
Пошаговая инструкция по выгрузке копии базы 1С: файл .dt через конфигуратор, резервная копия SQL-базы, копирование файловой базы. Проверка результата и ошибки.
Копия базы 1С нужна в трёх типичных ситуациях: перед обновлением конфигурации, перед переносом базы на другой сервер или компьютер и как регулярная страховка от потери данных. Способ выгрузки зависит от того, какая у вас база — файловая или клиент-серверная (SQL), — и от того, что именно требуется получить: файл выгрузки .dt, резервную копию средствами СУБД или просто копию каталога с базой.
Универсальный способ для большинства задач — выгрузка информационной базы в файл с расширением .dt через конфигуратор. Такой файл содержит и данные, и конфигурацию, его можно загрузить на другом компьютере с совместимой версией платформы 1С. Для больших клиент-серверных баз чаще применяют резервное копирование средствами MS SQL Server или PostgreSQL — это быстрее и не блокирует работу пользователей надолго.
Ниже разобраны все три способа, условия их применения, проверка результата и типичные ошибки, которые приводят к нерабочим копиям.
Как определить тип базы и выбрать способ выгрузки
Перед выгрузкой выясните, где физически хранится база. Откройте список информационных баз в окне запуска 1С, выделите нужную базу и посмотрите строку внизу окна. Если путь выглядит как каталог на диске (например, D:\Bases\Trade) — это файловая база. Если указаны сервер и имя базы (Server=SQL01; Ref=trade) — база клиент-серверная.
От типа базы зависит и допустимый способ копирования. Файловую базу можно скопировать как обычный файл, но только когда с ней никто не работает. Клиент-серверную базу нельзя скопировать файлами — данные лежат внутри СУБД, и корректную копию делает сама СУБД. Выгрузка в .dt работает в обоих случаях, но на больших базах (десятки гигабайт) занимает часы и требует монопольного доступа.
Как выбрать способ
Выгрузка базы в файл .dt через конфигуратор
Это штатный и самый распространённый способ. Завершите работу всех пользователей в базе: откройте конфигуратор, перейдите в «Администрирование → Активные пользователи» и попросите всех выйти, либо завершите сеансы принудительно. Выгрузка требует монопольного режима — при активных сеансах операция не начнётся или прервётся.
Далее в меню конфигуратора выберите «Администрирование → Выгрузить информационную базу». Укажите папку и имя файла — платформа автоматически добавит расширение .dt. В имя файла удобно включать дату, например trade_copy_15-03.dt, чтобы потом не путаться в версиях копий. Дождитесь окончания процесса: индикатор внизу окна покажет завершение, а в папке появится файл ненулевого размера.
- 1Завершите сеансы всех пользователей и фоновые задания
- 2Откройте базу в режиме Конфигуратор под пользователем с полными правами
- 3Выберите «Администрирование → Выгрузить информационную базу»
- 4Укажите путь и имя файла .dt, подтвердите
- 5Дождитесь завершения и проверьте, что файл создан и имеет разумный размер
- 6Скопируйте файл на отдельный носитель или в сетевое хранилище
Учтите ограничение: файл .dt не предназначен для переноса базы между разными СУБД и не является полноценной резервной копией для больших производственных баз. Он идеален для переноса на другой компьютер, создания тестовой копии и страховки перед обновлением, но для ежедневного бэкапа серверной базы используйте средства СУБД.
Копирование файловой базы напрямую
Файловая база целиком хранится в одном каталоге, а основной массив данных — в файле 1Cv8.1CD. Чтобы получить копию, достаточно скопировать этот файл (или весь каталог базы) в другое место. Главное условие — в момент копирования с базой никто не должен работать, иначе файл скопируется в несогласованном состоянии, и копия может оказаться повреждённой.
Безопасный порядок такой: убедитесь, что все пользователи вышли, проверьте, что в каталоге базы нет файла блокировок с активными сеансами, затем скопируйте файл 1Cv8.1CD. Для регулярного копирования удобно настроить задачу в планировщике Windows на ночное время, когда база гарантированно свободна.
Резервная копия клиент-серверной базы средствами СУБД
Для баз на MS SQL Server штатный способ — полная резервная копия (Full backup). В SQL Server Management Studio щёлкните правой кнопкой по базе, выберите «Tasks → Back Up», тип — Full, укажите файл назначения и запустите. Такую копию можно делать без остановки работы пользователей — СУБД обеспечивает согласованность данных на момент окончания копирования.
Для PostgreSQL используется утилита pg_dump. Команда создаёт файл выгрузки, который затем разворачивается на том же или другом сервере. Пример команды приведён ниже; имя пользователя и базы подставьте свои.
pg_dump -U postgres -F c -f trade_backup.dump trade_baseРезервные копии СУБД восстанавливаются быстрее, чем загружается .dt, и подходят для регламентного ежедневного копирования. Важно помнить: восстановление такой копии требует той же СУБД совместимой версии и правильной привязки базы в консоли кластера 1С — просто восстановить данные в SQL недостаточно, нужно, чтобы сервер 1С «увидел» эту базу.
Как проверить, что копия рабочая
Копия, которая не проверена, не считается копией. Минимальная проверка для .dt — создать пустую информационную базу в списке баз, открыть её конфигуратором и выполнить «Администрирование → Загрузить информационную базу», указав выгруженный файл. Если загрузка прошла без ошибок и данные открываются в режиме предприятия — копия рабочая.
Для копии файловой базы достаточно добавить в список баз новый элемент, указав путь к скопированному каталогу, и запустить базу в режиме предприятия. Проверьте, что открываются журналы документов и отчёты за последний период. Для копии СУБД проверка — восстановление в отдельную тестовую базу и подключение её через консоль кластера.
Как проверить результат
Файл существует, размер сопоставим с размером базы, тестовая загрузка проходит без ошибок
Файл нулевого размера, выгрузка прервалась ошибкой, загрузка падает
База открывается в режиме предприятия, документы и отчёты доступны
Ошибка формата потока при открытии, база требует восстановления
Задание backup завершилось успешно, файл восстанавливается в тестовую базу
Ошибки в журнале СУБД, восстановление завершается сбоем
Типичные ошибки и ограничения
Самая частая ошибка — попытка выгрузить .dt при активных пользователях. Платформа либо откажет в монопольном доступе, либо выгрузка оборвётся. Вторая типичная ошибка — копирование файловой базы «на живую», результатом становится повреждённая копия, которую приходится восстанавливать утилитой chdbfl или тестированием и исправлением, причём без гарантии успеха.
Ещё одна группа проблем связана с версиями: файл .dt, выгруженный на новой версии платформы, может не загрузиться на старой. Перед переносом проверьте, что на целевом компьютере установлена платформа той же или более новой версии. Также не путайте выгрузку .dt с выгрузкой конфигурации (.cf) — второй файл содержит только конфигурацию без данных и не заменяет копию базы.
Где и как хранить выгруженные копии
Копия должна физически находиться не там же, где рабочая база. Минимальное правило — другой диск, лучше — другой компьютер, сетевое хранилище или облачное хранилище. Если база и её копии лежат на одном сервере, отказ этого сервера обнулит всю страховку.
Храните несколько копий разной давности: например, ежедневные за последнюю неделю и еженедельные за месяц. Это защищает не только от аппаратных сбоев, но и от ситуаций, когда ошибка в данных замечена спустя несколько дней и нужна копия «до момента порчи». Имена файлов с датой позволяют быстро найти нужную копию.
Что важно запомнить
Для копии базы 1С используйте выгрузку в .dt через конфигуратор (монопольный режим), копирование файла 1Cv8.1CD для файловых баз в нерабочее время или backup средствами СУБД для клиент-серверных баз. Всегда проверяйте копию тестовым восстановлением и храните её отдельно от рабочей базы.
Частые вопросы о выгрузке копии базы 1С
Чем файл .dt отличается от файла .cf?
Файл .dt — это выгрузка всей информационной базы: данные плюс конфигурация. Файл .cf содержит только конфигурацию без данных и используется для обновления или переноса настроек, а не для резервного копирования. Для копии базы нужен именно .dt.
Можно ли выгрузить копию, не выгоняя пользователей?
Выгрузка в .dt требует монопольного доступа, поэтому пользователей придётся завершить. Если прерывать работу нельзя, используйте резервное копирование средствами СУБД — для клиент-серверных баз оно выполняется без остановки работы.
Сколько времени занимает выгрузка в .dt?
Зависит от размера базы и скорости дисковой подсистемы. Небольшая файловая база выгружается за минуты, база объёмом в десятки гигабайт может выгружаться часами. Загрузка .dt обычно занимает ещё больше времени, чем выгрузка.
Откроется ли копия на другом компьютере?
Да, если на нём установлена платформа 1С той же или более новой версии и соответствующая конфигурация поддерживается лицензией. Для загрузки .dt создайте пустую базу в списке и выполните «Загрузить информационную базу» в конфигураторе.
Что делать, если копия файловой базы не открывается?
Ошибка открытия обычно означает, что файл скопировали во время работы с базой. Можно попробовать утилиту chdbfl.exe из каталога платформы или «Тестирование и исправление» в конфигураторе, но гарантии восстановления нет. Надёжнее сделать новую копию при завершённых сеансах.
Достаточно ли одной копии перед обновлением конфигурации?
Одной свежей проверенной копии достаточно, если она сделана непосредственно перед обновлением и проверена тестовой загрузкой. Хранить её нужно до тех пор, пока обновлённая база не поработает стабильно хотя бы несколько дней.