Копия рабочей базы 1С с сервера: выгрузка .dt, бэкап СУБД, файлы и расписание
Содержание
Скопировать базу 1С с сервера проще всего через конфигуратор: Администрирование → Выгрузить информационную базу сохраняет всю базу в один файл .dt. Способ одинаково работает для файловой и клиент-серверной базы и не требует доступа к СУБД. Если база большая (десятки гигабайт) и стоит на SQL Server или PostgreSQL, быстрее снять копию средствами самой СУБД. Файловую базу
можно скопировать и вручную — это один файл 1Cv8.1CD.
Выбор зависит от трёх вещей: тип базы, её размер и что вы будете делать с копией. Для тестовой копии рядом с рабочей хватит .dt. Для ежедневного резервирования крупной серверной базы — бэкап СУБД по расписанию плюс еженедельный .dt как страховка.
Какой способ копирования базы 1С выбрать
| Способ | Для какой базы | Когда выбирать | Ограничения |
|---|---|---|---|
Выгрузка .dt в конфигураторе | Файловая и серверная | Тестовая копия, перенос на другой сервер или СУБД | На больших базах выгрузка идёт часами |
| Бэкап SQL Server / PostgreSQL | Только серверная | Ежедневные копии баз от 10–20 ГБ | Нужен доступ к СУБД; копия разворачивается только на той же СУБД |
Копирование 1Cv8.1CD | Только файловая | Быстрая копия небольшой базы | Все пользователи должны выйти из базы |
Утилиты и ibcmd | Обе | Автоматизация без ручных скриптов | Сторонние программы нужно настраивать и проверять |
| Скачивание из облака | База в аренде | Хотите локальную копию облачной базы | Формат файла зависит от провайдера |
Файл .dt не зависит от СУБД. Базу с SQL Server можно выгрузить в .dt и загрузить в PostgreSQL или в файловый вариант. Бэкап СУБД так не переносится.
Перед любым способом узнайте, где лежит база. Откройте окно запуска 1С и выделите базу: внизу будет строка подключения. File="D:\Bases\Buh" — файловая база в этой папке. Srvr="srv1c";Ref="buh" — серверная база buh на сервере srv1c.
Как скопировать базу 1С через конфигуратор в файл .dt
Выгрузка доступна пользователю с полными правами (роль администратора). Разделять на «файловую» и «серверную» инструкцию не нужно: шаги одинаковые.
- Запустите 1С, выделите базу и нажмите
Конфигуратор. - Войдите под пользователем с административными правами.
- Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла, например
D:\Backup1C\buh_2026-10-07.dt. - Дождитесь сообщения о завершении выгрузки.
Выгрузку лучше запускать, когда в базе не идёт активная работа: вечером или в обед. Пока она идёт, конфигуратор занят и закрывать его нельзя.
Объём .dt обычно в несколько раз меньше самой базы: данные внутри сжаты. База в 30 ГБ часто даёт файл на 3–6 ГБ. Точное соотношение зависит от того, сколько в базе прикреплённых файлов и картинок.
Как развернуть копию из .dt
Копию разворачивают в новую пустую базу, а не поверх рабочей.
- В окне запуска нажмите
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Для серверной копии укажите тот же сервер и новое имя, например
buh_test. - Откройте новую базу в конфигураторе:
Администрирование → Загрузить информационную базу, выберите файл.dt.
Загрузка .dt полностью заменяет данные в базе, в которую вы её делаете. Дважды проверьте, что открыта пустая база, а не рабочая.
Загрузить .dt можно в платформу с номером версии не ниже той, на которой файл выгружали.
Копия серверной базы 1С средствами SQL Server и PostgreSQL
Клиент-серверная база 1С — это обычная база данных в СУБД. Сервер 1С хранит только её регистрацию. Значит, копию можно снять штатным бэкапом СУБД, не открывая 1С вообще.
SQL Server
Для разовой копии используйте параметр COPY_ONLY. Без него внеплановый полный бэкап разорвёт цепочку разностных копий, которые делает администратор по плану обслуживания.
BACKUP DATABASE [buh]
TO DISK = N'D:\Backup1C\buh_copy.bak'
WITH COPY_ONLY, CHECKSUM, STATS = 10;
В редакциях Standard и Enterprise добавьте COMPRESSION — файл выйдет в 3–5 раз меньше. В Express сжатие бэкапа недоступно.
Развернуть копию под новым именем:
RESTORE FILELISTONLY FROM DISK = N'D:\Backup1C\buh_copy.bak';
RESTORE DATABASE [buh_test]
FROM DISK = N'D:\Backup1C\buh_copy.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;
Логические имена файлов (buh, buh_log в примере) у каждой базы свои. Их показывает первая команда — RESTORE FILELISTONLY.
PostgreSQL
Для PostgreSQL копию снимают утилитой pg_dump в сжатом формате, а восстанавливают pg_restore:
pg_dump -U postgres -h localhost -Fc -f D:\Backup1C\buh.backup buh
createdb -U postgres -h localhost -T template0 buh_test
pg_restore -U postgres -h localhost -d buh_test D:\Backup1C\buh.backup
Используйте утилиты из той сборки PostgreSQL, на которой работает 1С, а не из другой установленной версии.
Регистрация копии в кластере 1С
Восстановленная база СУБД пока не видна в 1С. Её нужно зарегистрировать:
- Откройте консоль администрирования серверов 1С, раскройте кластер и узел
Информационные базы. - Через контекстное меню выберите
Создать → Информационная база. - Укажите имя (
buh_test), тип СУБД, сервер и имя восстановленной базы данных. - Флажок
Создать базу данных в случае ее отсутствияне включайте — база уже есть. - Включите
Блокировка регламентных заданий включена.
Пятый шаг здесь главный. Без него копия начнёт выполнять регламентные задания рабочей базы: обмены с другими базами, загрузку банковских выписок, отправку почты и ЭДО.
При первом входе типовые конфигурации замечают, что база сменила адрес, и спрашивают, перенесена она или это копия. Выберите ответ про копию: программа заблокирует работу с внешними ресурсами.
Ручное копирование файловой базы через проводник
Файловая база — это папка, а данные в ней лежат в одном файле 1Cv8.1CD. Скопировать его — самый быстрый способ получить копию.
- Попросите всех пользователей выйти из базы.
- Убедитесь, что сеансов нет: при открытой базе рядом с
1Cv8.1CDлежит файл1Cv8tmp.1CDили файлы блокировки. - Скопируйте
1Cv8.1CDв другую папку. - Чтобы открыть копию, добавьте в список баз новую запись
Добавить → Добавление в список существующей информационной базыи укажите папку с копией.
Копия файла, снятая во время работы пользователей, может оказаться повреждённой. Платформа пишет в файл кусками, и проводник захватит его в промежуточном состоянии.
Папку 1Cv8FTxt (индекс полнотекстового поиска) и файлы .cfl копировать не обязательно. Платформа построит их заново.
Если база на сервере открыта по сети через общую папку, удобнее копировать прямо на сервере. Копирование по сети гигабайтного файла идёт в разы медленнее и чаще обрывается.
Утилиты и облачные сервисы для копирования базы 1С
ibcmd
В платформу 8.3 входит утилита ibcmd (появилась в 8.3.14). Она работает с базой без запуска конфигуратора и без графического интерфейса. Это удобно для серверов, где нет рабочего стола.
Выгрузка файловой базы в .dt выглядит так:
ibcmd infobase dump --db-path=D:\Bases\Buh D:\Backup1C\buh.dt
Для серверной базы ibcmd подключается напрямую к СУБД, поэтому ей нужны параметры СУБД, имя и пароль пользователя базы данных. Точный набор ключей для вашей версии смотрите в справке ibcmd help infobase.
Сторонние программы
Есть платные и бесплатные программы резервного копирования, которые умеют запускать выгрузку 1С, копировать файловые базы, хранить архивы на внешнем диске или в облаке. По сути они делают то же, что скрипт из следующего раздела, но с интерфейсом и уведомлениями.
Если ставите такую программу, проверьте три вещи:
- 🔐 где хранится пароль администратора 1С и кто его видит;
- 📩 приходит ли уведомление, когда копия не создалась;
- 🗑️ удаляются ли старые копии, иначе диск закончится.
База в облаке
Если база работает в аренде (1С:Фреш или у партнёра), копию скачивают через личный кабинет сервиса или через команду выгрузки данных в самой программе. Формат зависит от сервиса. Одни провайдеры отдают обычный .dt. Фреш выгружает архив с данными, который загружают в локальную базу той же конфигурации и того же релиза.
Перед скачиванием уточните у провайдера, какой релиз конфигурации у облачной базы. Без совпадения релиза загрузка данных не пройдёт.
Автоматическое копирование базы 1С по расписанию
Ручная выгрузка забывается. Надёжнее один раз написать скрипт и поставить его в планировщик Windows.
Скрипт ниже запускает конфигуратор в пакетном режиме, выгружает базу в файл с датой в имени и пишет журнал.
# D:\Scripts\backup1c.ps1
$exe = "C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
$dir = "D:\Backup1C"
$stamp = Get-Date -Format "yyyy-MM-dd_HHmm"
$dt = "$dir\buh_$stamp.dt"
$log = "$dir\buh_$stamp.log"
$args1c = "DESIGNER /S`"srv1c\buh`" /N`"Backup`" /P`"пароль`" " +
"/DumpIB `"$dt`" /Out `"$log`" /DisableStartupDialogs"
$p = Start-Process -FilePath $exe -ArgumentList $args1c -Wait -PassThru
if ($p.ExitCode -ne 0 -or -not (Test-Path $dt)) {
Write-Output "Ошибка выгрузки, код $($p.ExitCode). Смотрите $log"
exit 1
}
Что поменять под себя:
- путь к
1cv8.exe— номер платформы в папкеbinу вас свой; - для файловой базы вместо
/S"srv1c\buh"укажите/F"D:\Bases\Buh"; - отдельного пользователя
Backupс административными правами заведите в 1С заранее.
Start-Process -Wait нужен обязательно. Без него PowerShell не дождётся конфигуратора, и проверка файла сработает раньше, чем выгрузка закончится.
Поставить скрипт на каждый день в 23:30:
schtasks /Create /TN "1C backup buh" /SC DAILY /ST 23:30 /RU SYSTEM ^
/TR "powershell -NoProfile -ExecutionPolicy Bypass -File D:\Scripts\backup1c.ps1"
Для SQL Server то же самое настраивают в SQL Server Management Studio: Управление → Планы обслуживания с задачей резервного копирования.
Удаление копий старше 30 дней
Ежедневные копии базы на 5 ГБ за месяц займут 150 ГБ. Старые файлы удаляйте тем же скриптом. Добавьте в конец backup1c.ps1:
Get-ChildItem -Path $dir -Include *.dt, *.log -Recurse |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Remove-Item
Если удобнее командная строка, то же делает forfiles:
forfiles /p "D:\Backup1C" /m *.dt /d -30 /c "cmd /c del @path"
Удалять старые копии стоит только после проверки, что свежая создалась. В скрипте выше при ошибке выгрузки exit 1 срабатывает раньше удаления — так вы не останетесь без единой копии.
Хранить копии на том же диске, что и база, — плохая идея. Отказ диска унесёт и базу, и архив. Минимум — второй диск или сетевое хранилище, лучше ещё и внешний носитель раз в неделю.
Как проверить, что копия базы 1С рабочая
Файл на диске ещё не значит, что из него можно восстановиться. Проверка занимает полчаса и делается хотя бы раз в месяц.
Для бэкапа SQL Server есть быстрая проверка без восстановления:
RESTORE VERIFYONLY FROM DISK = N'D:\Backup1C\buh_copy.bak' WITH CHECKSUM;
Она подтверждает, что файл читается и контрольные суммы сходятся. Но логические ошибки внутри данных 1С так не найти. Для них в тестовой копии запускают Администрирование → Тестирование и исправление в конфигураторе. Этому режиму нужен монопольный доступ — в тестовой базе это не проблема.
Ошибки, из-за которых копия базы оказывается бесполезной
- ❌ Загрузили
.dtв рабочую базу. Самая дорогая ошибка: данные рабочей базы заменяются копией. Перед загрузкой посмотрите в заголовке конфигуратора, какая база открыта. - ❌ Восстановили бэкап SQL под старым именем.
RESTORE DATABASE [buh]без нового имени перезапишет рабочую базу. Всегда указывайте новое имя. - ❌ Копия отправила обмены. Тестовая база без блокировки регламентных заданий выгрузила документы в базу филиала или на сайт. Последствия разбирать дольше, чем делать саму копию.
- ❌ Платформа ниже нужной. Файл
.dtс платформы 8.3.24 не загрузится в 8.3.20. Обновите платформу на машине, где разворачиваете копию. - ❌ Бэкап с новой версии SQL Server. Файл
.bakиз SQL Server 2022 не восстановится на SQL Server 2017. Для переноса между версиями используйте.dt. - ❌ Копирование
1Cv8.1CDпо живой базе. Файл копируется без ошибок, но при открытии платформа сообщает о повреждении.
Можно ли скопировать базу 1С, если пользователи работают?
.dt и бэкап СУБД можно запустить при работающих пользователях, но лучше делать это в тихое время. Файл 1Cv8.1CD копировать при открытых сеансах нельзя.Нужна ли отдельная лицензия для копии базы?
Сколько времени идёт выгрузка в .dt?
Можно ли открыть файл .dt без загрузки в базу?
.dt служит только для загрузки через конфигуратор или ibcmd в новую базу. Посмотреть документы внутри файла без загрузки не получится.Чем копия .dt отличается от копии конфигурации .cf?
.cf содержит только конфигурацию — программу без данных. Файл .dt содержит конфигурацию и все данные базы. Для резервной копии нужен .dt.