Восстановление базы 1С из резервной копии: файловый вариант, SQL и .dt
Содержание
Вернуть копию базы
в 1С можно тремя путями, и выбор зависит от того, в каком виде у вас лежит копия. Файл выгрузки .dt загружают в Конфигураторе: Администрирование → Загрузить информационную базу. Копию файловой базы
(1Cv8.1CD или архив с ним) просто кладут на место текущего файла. Бэкап SQL-сервера (.bak, .backup) восстанавливают средствами СУБД, а не из 1С.
Самый безопасный приём для любого варианта — восстанавливать копию рядом, в новую базу, а не поверх рабочей. Сначала проверяете, что в копии нужные данные, и только потом переключаете пользователей. Так при неудаче вы ничего не теряете.
Подготовка: что сделать до того, как вернуть копию
Пять минут подготовки избавляют от ситуации, когда вместо одной испорченной базы у вас две.
- Определите формат копии. От него зависит способ — смотрите таблицу ниже.
- Сохраните текущее состояние. Даже сломанная база может понадобиться: в ней документы, введённые после даты копии. Скопируйте папку файловой базы целиком или сделайте свежий бэкап SQL.
- Узнайте дату копии. Всё, что вводили после неё, придётся восстанавливать вручную. Сообщите об этом бухгалтерии заранее.
- Проверьте версию платформы. Копию лучше открывать платформой с номером версии не ниже той, на которой её сделали.
- Завершите сеансы пользователей. Для замены файла и загрузки
.dtв базе не должно быть никого. Предупредите людей: работа прервётся, несохранённые документы пропадут. - Проверьте место на диске. Для загрузки
.dtнужно свободное место примерно в 3–5 раз больше размера файла выгрузки.
| Что у вас на руках | Где восстанавливать | Раздел ниже |
|---|---|---|
Папка с файлом 1Cv8.1CD или архив .zip с ним | Проводник Windows | Файловая база |
Файл .dt | Конфигуратор | Загрузка .dt |
Файл .bak | SQL Server Management Studio | Клиент-серверная база |
Файл .backup, .dump, .sql | pg_restore / psql | Клиент-серверная база |
Если копий несколько, начните с самой свежей. Не подошла — берите предыдущую. Каждую проверяйте в отдельной базе, а не по очереди поверх одной.
Как вернуть копию файловой базы 1С
Файловая база — это папка, а данные в ней лежат в одном файле 1Cv8.1CD. Копия файловой базы — это тот же файл, сделанный раньше. Поэтому восстановление сводится к работе с файлами.
Способ 1. Подключить копию отдельной базой (рекомендуется)
- Создайте новую папку, например
D:\Bases\Buh_copy. - Скопируйте в неё файл
1Cv8.1CDиз резервной копии. Если копия в архиве — распакуйте. - Откройте окно запуска 1С и нажмите
Добавить. - Выберите вариант добавления существующей информационной базы в список.
- Укажите имя (например, «Бухгалтерия — копия от 03.10») и путь к новой папке.
- Запустите базу в режиме 1С:Предприятие и проверьте данные.
Рабочая база при этом не трогается. Если копия подошла, можно работать прямо в ней или заменить файл в основной папке (способ 2).
Способ 2. Заменить файл в рабочей папке
- Убедитесь, что в базе никого нет. Если файл занят, Windows не даст его переименовать — это и есть проверка.
- В папке базы переименуйте текущий
1Cv8.1CD, например в1Cv8_old.1CD. Не удаляйте его. - Скопируйте сюда
1Cv8.1CDиз резервной копии. - Если в папке есть файл
1Cv8.cflили1Cv8tmp.1CD— перенесите их в сторону вместе со старым файлом базы. - Откройте базу и проверьте данные.
Не удаляйте старый файл, пока не убедились, что копия рабочая. Переименование стоит секунды, а удалённый файл назад не вернуть.
При первом запуске перемещённой копии типовые конфигурации иногда спрашивают, это копия базы или база перенесена. Если вы открыли копию «для проверки», а рабочая база продолжает жить, — выбирайте вариант, что это копия. Тогда программа не будет запускать обмены, загрузку выписок и другие регламентные задания от её имени.
Восстановление копии базы 1С на SQL-сервере
В клиент-серверном варианте данные хранятся в СУБД. Платформа 1С бэкапы MS SQL или PostgreSQL не восстанавливает — это делает администратор СУБД. Схема та же: восстановить в новую базу данных, зарегистрировать её в кластере 1С, проверить.
Шаг 1. Заблокировать сеансы и регламентные задания
Если восстанавливаете поверх рабочей базы, в консоли администрирования серверов 1С откройте свойства информационной базы и включите:
- 🔒 блокировку начала сеансов (укажите время и сообщение для пользователей);
- 🔒 блокировку регламентных заданий.
Активные сеансы завершите в ветке Сеансы той же консоли. Пользователи потеряют несохранённые изменения — делайте это после рабочего дня или по договорённости.
Шаг 2. Восстановить бэкап в MS SQL Server
Сначала узнайте логические имена файлов внутри бэкапа:
RESTORE FILELISTONLY
FROM DISK = N'D:\Backup\buh_2026_10_03.bak';
Затем восстановите в новую базу данных buh_restore, указав новые физические файлы:
RESTORE DATABASE [buh_restore]
FROM DISK = N'D:\Backup\buh_2026_10_03.bak'
WITH MOVE N'buh' TO N'D:\SQLData\buh_restore.mdf',
MOVE N'buh_log' TO N'D:\SQLData\buh_restore_log.ldf',
RECOVERY, STATS = 10;
Вместо buh и buh_log подставьте логические имена из первого запроса. То же самое можно сделать мышкой в SQL Server Management Studio: правый клик по Databases → Restore Database….
Восстанавливать поверх рабочей базы стоит только после проверки копии. Перед этим переведите базу в однопользовательский режим (это оборвёт все подключения) и добавьте REPLACE:
ALTER DATABASE [buh] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
RESTORE DATABASE [buh] FROM DISK = N'D:\Backup\buh_2026_10_03.bak' WITH REPLACE, RECOVERY;
ALTER DATABASE [buh] SET MULTI_USER;
Шаг 2а. Восстановить бэкап в PostgreSQL
Для дампа в формате custom (обычно .backup или .dump):
createdb -U postgres -T template0 buh_restore
pg_restore -U postgres -d buh_restore -j 4 /backup/buh_2026_10_03.backup
Ключ -j 4 запускает восстановление в 4 потока и заметно ускоряет работу на больших базах. Если дамп сделан в виде текстового .sql, его загружают через psql -U postgres -d buh_restore -f файл.sql.
Шаг 3. Зарегистрировать копию в кластере 1С
- В консоли администрирования серверов 1С откройте
Информационные базы. - Создайте новую информационную базу.
- Укажите сервер СУБД, тип СУБД и имя базы данных
buh_restore, а также пользователя СУБД. - Флажок создания базы данных в случае её отсутствия оставьте снятым — база уже есть.
- Включите блокировку регламентных заданий, чтобы копия не начала обмениваться данными и отправлять документы.
- Добавьте базу в список на клиенте (вариант «На сервере 1С:Предприятия») и проверьте.
Загрузка копии базы из файла выгрузки .dt
Файл .dt — универсальная выгрузка: его можно загрузить и в файловую, и в серверную базу
. Загрузка полностью заменяет данные и конфигурацию той базы, в которую вы грузите.
- Создайте новую пустую базу: в окне запуска
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Откройте её в режиме Конфигуратор.
- Выберите
Администрирование → Загрузить информационную базу…. - Укажите файл
.dtи подтвердите, что текущие данные будут заменены. - Дождитесь окончания. На базе в 10–20 ГБ это может занять от получаса до нескольких часов.
- Согласитесь на перезапуск Конфигуратора и откройте базу в режиме 1С:Предприятие.
Для загрузки нужен монопольный доступ: если в базе есть другие сеансы, процедура не начнётся.
Большие .dt грузите 64-разрядным Конфигуратором. 32-разрядный процесс упирается в ограничение памяти и может прервать загрузку на середине.
Если грузите .dt в рабочую базу, а не в новую, — сначала сделайте её свежую выгрузку. Загрузка необратима: старое содержимое базы будет стёрто.
Восстановление из резервной копии средствами самой программы
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие) есть встроенное резервное копирование для файловых баз. Копии оно складывает архивом в папку, которую задали в настройках.
Восстановить из такой копии можно, не открывая Конфигуратор:
- Откройте
Администрирование → Обслуживание. - В группе «Резервное копирование и восстановление» выберите восстановление из резервной копии.
- Укажите файл архива с копией.
- Введите имя и пароль администратора базы, если программа их запросит.
- Подтвердите запуск: программа закроет сеанс, заменит данные и откроет базу заново.
В клиент-серверном варианте этот механизм не работает : программа предложит делать копии средствами СУБД. Для серверной базы используйте способы из раздела про SQL.
Помните, что встроенное восстановление идёт сразу поверх текущей базы. Если не уверены, что копия нужная, распакуйте архив вручную в отдельную папку и подключите как отдельную базу — так, как описано в разделе про файловый вариант.
Если из копии нужна не вся база, а несколько документов
Частый случай: копия недельной давности, а испортили только пару документов или справочник. Возвращать всю базу и терять неделю работы нет смысла.
- 📂 Подключите копию отдельной базой и откройте её рядом с рабочей.
- ✍️ Если документов немного, перенесите данные руками: откройте документ в копии и введите такой же в рабочей базе.
- 🔄 Если объектов много — выгрузите их из копии универсальной обработкой выгрузки-загрузки данных XML и загрузите в рабочую базу.
Перенос через XML делайте сначала на тестовой копии рабочей базы. Неудачная загрузка может создать дубли справочников и задвоить движения документов.
Как проверить базу после возврата копии
Копию нельзя считать восстановленной, пока вы её не проверили. Проверка идёт в два уровня: техническая целостность и данные.
Техническая проверка
- Тестирование и исправление. В Конфигураторе:
Администрирование → Тестирование и исправление…. Для начала отметьте проверку логической и ссылочной целостности в режиме «Тестирование без исправления». Нужен монопольный доступ. - Утилита chdbfl.exe — только для файловых баз. Лежит в папке платформы, например
C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe. Проверяет физическую структуру файла1Cv8.1CD. Запускать на закрытой базе. - DBCC CHECKDB — для MS SQL, если есть сомнения в самом бэкапе:
DBCC CHECKDB (N'buh_restore') WITH NO_INFOMSGS;
Перед исправлением ошибок (а не только тестированием) снимите отдельную копию проверяемой базы. Исправление может удалить битые объекты вместе с данными.
Проверка данных
- 📅 Найдите последний документ в журнале — его дата должна совпадать с датой копии.
- 💰 Сформируйте оборотно-сальдовую ведомость за последний месяц и сравните остатки с теми, что помнит бухгалтерия.
- 👥 Проверьте, что пользователи входят под своими паролями.
- 🔁 Убедитесь, что обмены и регламентные задания на копии отключены, если она не заменяет рабочую базу.
Ошибки при восстановлении копии и что с ними делать
Отдельно о частой путанице: файл .cf — это не копия базы. В нём только конфигурация, без документов и справочников. Загрузить его вместо .dt и получить данные не получится.
Частые вопросы
Можно ли восстановить базу 1С, если резервной копии нет?
chdbfl.exe и «Тестирование и исправление» на копии повреждённого файла. Если не помогло — нужны специалисты по восстановлению данных, гарантий здесь никто не даёт.Сохранятся ли пользователи и пароли после загрузки .dt?
.dt есть список пользователей, поэтому после загрузки будут те учётные записи и пароли, которые были на момент выгрузки.Нужна ли лицензия для восстановленной копии?
Можно ли загрузить .dt файловой базы в серверную и наоборот?
.dt не зависит от варианта работы. Это самый простой способ перенести базу с файлового варианта на сервер.