Восстановление базы 1С из резервной копии: три способа
Содержание
Backup в 1С бывает трёх видов, и загружают их по-разному. Выгрузка .dt разворачивается через Конфигуратор: пункт Администрирование → Загрузить информационную базу. Файл 1Cv8.1CD просто копируют в каталог базы. Бэкап SQL-сервера восстанавливают средствами СУБД, а потом подключают базу к кластеру.
Сначала определите, что у вас в руках. Расширение .dt — выгрузка, сделанная самой 1С. Файл 1Cv8.1CD — сама файловая база. Файлы .bak (MS SQL) или дампы PostgreSQL — копия серверной базы. Ниже по порядку: подготовка, каждый способ, автоматизация и ошибки.
Что проверить до загрузки
Загрузка перезаписывает данные целиком. Всё, что было в базе-приёмнике, пропадёт. Поэтому сначала решите, куда загружаете: в рабочую базу (откат на вчерашний день) или в новую пустую (проверка копии, перенос на другой компьютер).
Короткий список проверок:
- 💾 Если принимающая база не пустая — сделайте её копию. Выгрузите
.dtили скопируйте каталог целиком. - 🔢 Платформа на этом компьютере должна быть не ниже той, на которой делалась выгрузка. Файл
.dt, созданный более новой платформой, старая может не прочитать. - 🧩 Конфигурация приёмника должна совпадать с исходной: тот же тип (например, «Бухгалтерия предприятия») и, желательно, тот же релиз. Выгрузка из ЗУП в базу Бухгалтерии не загрузится.
- 👥 Все пользователи должны выйти. Загрузка идёт в монопольном режиме.
- 💽 Свободное место на диске: ориентируйтесь на объём файла
.dt, умноженный на 3–4. Для.dtразмером 2 ГБ нужно примерно 6–8 ГБ. - 🔑 Нужны права администратора в самой базе. Пользователь без полных прав получит отказ.
Если принимающая база рабочая, а загружаете вы файл десятидневной давности, документы за эти дни потеряются. Убедитесь, что это именно то, что нужно.
Файл .dt: загрузка через Конфигуратор
Это основной способ для файловых и клиент-серверных баз. Подходит, когда нужно развернуть выгрузку на новом месте или откатить базу.
Подключите пустую базу
Если базы ещё нет, создайте её. В окне запуска 1С нажмите Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. Укажите имя и каталог. Конфигурация придёт вместе с данными из .dt, отдельно ставить её не нужно.
Если загружаете в существующую базу — просто выберите её в списке.
Откройте Конфигуратор и загрузите файл
- В окне запуска выделите базу и нажмите
Конфигуратор. Заходите под пользователем с правами администратора. - В меню откройте
Администрирование → Загрузить информационную базу. - В диалоге выберите файл
.dtи нажмитеОткрыть. - Подтвердите замену данных. Если в базе работают другие пользователи, платформа сообщит, что монопольный режим невозможен. Попросите людей выйти и повторите.
- Дождитесь завершения. Полоска прогресса может стоять на месте несколько минут — это нормально для больших баз. На
.dtв 5 ГБ загрузка обычно идёт десятки минут. - После окончания закройте Конфигуратор и запустите базу в режиме 1С:Предприятие. Платформа может предложить обновить базу — соглашайтесь.
Не нажимайте «Отмена» и не закрывайте окно, пока идёт загрузка. Прерванная загрузка оставляет базу в неработоспособном состоянии, придётся начинать заново.
После первого входа проверьте пару контрольных чисел: оборотно-сальдовую ведомость за последний закрытый месяц и дату последнего документа. Так вы убедитесь, что восстановили именно ту копию.
Что происходит с пользователями и настройками
Список пользователей и их роли хранятся внутри базы и приезжают вместе с выгрузкой. Если в копии были пользователи, которых уже нет, они вернутся. Пароли тоже. Отдельно переживать о настройках отчётов не надо: они лежат в базе.
А вот то, что хранится вне базы, не вернётся: локальные файлы пользователей, внешние отчёты и обработки в каталогах на дисках, настройки печати принтеров.
Файл 1Cv8.1CD: копия файловой базы
Если у вас не выгрузка, а сам файл базы, Конфигуратор не нужен. Файловая база — это каталог, внутри которого лежит 1Cv8.1CD. Загрузить такой backup значит положить файл на место.
Порядок действий:
- Закройте 1С у всех пользователей. Убедитесь, что файл не занят: в диспетчере задач не должно быть процессов
1cv8.exeс этой базой. Если база стоит на сервере в сетевой папке, проверьте открытые файлы в управлении общими ресурсами. - Переименуйте текущий
1Cv8.1CD(например, в1Cv8.1CD.old). Не удаляйте, пока не убедитесь, что копия рабочая. - Скопируйте файл из backup в каталог базы под именем
1Cv8.1CD. - Запустите 1С и откройте базу. Если её нет в списке, нажмите
Добавить → Добавление существующей информационной базыи укажите каталог.
Если у вас в архиве лежит не только 1Cv8.1CD, но и файлы 1Cv8.1CL или каталог 1Cv8Log, их тоже можно вернуть. Журнал регистрации не критичен: без него база работает, пропадёт только история событий.
Копировать файл базы надо при закрытой базе. Копия, снятая во время работы пользователей, может оказаться «битой». Такой backup откроется с ошибкой или с потерей последних данных.
Минус способа: файл привязан к версии платформы. Если база была создана на более новой платформе, старая её не откроет. Установите ту же или более новую платформу.
Клиент-серверная база: что меняется
У серверной базы данные лежат в СУБД (MS SQL Server или PostgreSQL), а кластер 1С хранит только информацию о ней. Поэтому и backup бывает двух типов.
| Что у вас | Как загружать | Когда подходит |
|---|---|---|
Файл .dt | Тот же пункт Загрузить информационную базу в Конфигураторе, подключённом к серверной базе | Перенос между серверами, смена СУБД, любые объёмы до сотен гигабайт, если есть время |
.bak MS SQL | Восстановление в SQL Server Management Studio, затем регистрация базы в кластере | Быстрый откат больших баз, копия точно в том же состоянии |
| Дамп PostgreSQL | Восстановление средствами pg_restore или psql, затем регистрация в кластере | То же для PostgreSQL |
Загрузка .dt в серверную базу
Порядок тот же, что в файловом варианте. При создании базы на сервере укажите имя сервера (например, srv-1c), имя базы в кластере, тип СУБД, сервер СУБД и имя базы данных. Отметьте создание базы данных, если её ещё нет. Затем откройте Конфигуратор и загрузите .dt. Серверная загрузка идёт заметно дольше, чем файловая, потому что данные записываются в СУБД.
Восстановление из бэкапа СУБД
Для MS SQL это делает администратор базы данных: в SSMS открывается Восстановление базы данных, выбирается файл .bak. Восстанавливать удобнее под новым именем, чтобы не затереть рабочую базу, пока вы не убедились в результате.
Дальше новую базу нужно добавить в кластер. В консоли администрирования серверов 1С создайте информационную базу и укажите восстановленную базу данных. Отметьте, что новую базу данных создавать не нужно. Если в параметрах стоит создание базы, платформа попытается создать пустую и может повредить восстановленное.
Если вы восстанавливаете backup поверх рабочей серверной базы, остановите работу пользователей и заблокируйте сеансы. Запущенные сеансы оборвутся, несохранённые данные потеряются. Делать это стоит вне рабочего времени.
Один нюанс: бэкап СУБД привязан к версии самой СУБД. Копия из MS SQL более новой версии в старый SQL Server не восстановится. С PostgreSQL похожая история, плюс важна именно сборка PostgreSQL для 1С.
Загрузка из командной строки и по расписанию
Те же действия можно сделать без окон. Платформа умеет запускать Конфигуратор в пакетном режиме. Это нужно для ночной проверки backup: каждую ночь разворачиваем свежую выгрузку в тестовую базу и убеждаемся, что она открывается.
Для файловой базы команда выглядит так:
"C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe" DESIGNER /F "D:\Bases\Test" /N "Администратор" /P "пароль" /RestoreIB "D:\Backup\base.dt" /Out "D:\Backup\restore.log" /DisableStartupDialogs
Что здесь важно:
- версию платформы в пути подставьте свою, посмотреть её можно в каталоге
C:\Program Files\1cv8; /Fуказывает каталог файловой базы; для серверной базы вместо него используется/S "сервер\имя_базы";/Nи/P— имя и пароль пользователя, если в базе включена авторизация;/RestoreIB— загрузка выгрузки; обратная операция —/DumpIB;/Outпишет результат в лог, чтобы скрипт мог проверить, как прошло.
Сохраните команду в .bat и поставьте в планировщик заданий Windows на ночь. Только не направляйте такую команду на рабочую базу: загрузка затрёт данные без вопросов, подтверждения в пакетном режиме нет.
Не уверены в параметрах? Полный перечень есть в справке платформы по параметрам командной строки. Сверяйтесь с ней под вашу версию.
Для самой выгрузки по расписанию на практике чаще настраивают отдельные скрипты или регламентные задания резервного копирования. Вместе с проверочной загрузкой в тестовую базу это даёт backup, в работоспособности которого вы уверены.
Если загрузка не удалась
Самые частые случаи и что с ними делать:
1cv8.exe в диспетчере задач на сервере и на рабочих станциях. Завершите сеансы, повторите загрузку..dt заново с исходного места: возможно, он оборвался при передаче. Сравните размер с оригиналом. Если копия одна и она битая, пробуйте другой backup из архива.Если после загрузки база запускается, но в ней не те данные, проверьте, не открыли ли вы старую копию. Сравните дату последнего документа с ожидаемой. Часто путаница случается с файлами вида base_old.dt и base_new.dt.
Проверка копии после загрузки
Загрузка прошла без ошибок — это ещё не значит, что backup хороший. Пройдите три шага:
После переноса базы на другой компьютер проверьте и то, что лежит вне неё. Это лицензия (программная или ключ защиты), подключённые принтеры и оборудование, а также настройки подключения к серверу в списке баз у пользователей.
Частые вопросы
Можно ли загрузить .dt в базу другой версии конфигурации?
Чем .dt отличается от 1CD?
.dt — выгрузка данных и конфигурации в переносимом формате, она сжата и подходит и для файловых, и для серверных баз. 1CD — сам файл файловой базы, его можно только скопировать на место.Сколько времени занимает загрузка?
Загрузятся ли пароли пользователей?
Можно ли загрузить backup, не останавливая работу других?
.dt требует монопольного доступа, остальные должны выйти. Для тестов разворачивайте копию в отдельную базу, рабочие пользователи ей не мешают.