К статье
Практический материал

Администрирование · 10 мин

Как восстановить базу 1С: пошаговое руководство

Как восстановить базу 1С из копии: загрузка dt-файла, восстановление файловой и клиент-серверной базы, проверка результата и типичные ошибки администраторов.

Восстановление базы 1С — штатная процедура, которая требуется при сбое оборудования, повреждении файлов, ошибочных действиях пользователей или переносе данных на новый сервер. Способ восстановления зависит от формата базы: файловая база хранится в одном файле 1Cv8.1CD, клиент-серверная — в СУБД (MS SQL Server, PostgreSQL и др.), а резервные копии обычно создаются в формате выгрузки dt через конфигуратор.

Главное правило: восстановление всегда выполняют из копии, созданной заранее. Если резервной копии нет, а база повреждена, задача усложняется — приходится использовать утилиту тестирования и исправления или штатные средства СУБД, и результат не гарантирован. Поэтому первый шаг в любой ситуации — оценить, что именно есть на руках: dt-файл, копию каталога файловой базы или бэкап на уровне СУБД.

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

Определяем формат базы и тип резервной копии

Прежде чем восстанавливать, выясните, с чем работаете. Файловая база — это каталог с файлом 1Cv8.1CD, который можно просто скопировать. Клиент-серверная база физически находится в СУБД, и простое копирование файлов данных сервера 1С ничего не даст.

Тип копии определяет процедуру восстановления:

  • dt-файл — выгрузка через конфигуратор. Универсальный формат, подходит для обоих вариантов работы, позволяет переносить базу между платформами и СУБД.
  • Копия каталога файловой базы — восстанавливается простым копированием файлов обратно.
  • Бэкап СУБД (bak в MS SQL, дамп в PostgreSQL) — восстанавливается средствами самой СУБД, обычно быстрее, чем загрузка dt.
Есть dt-файлСтандартная ситуация

Восстановление через конфигуратор: Администрирование — Загрузить информационную базу

Есть только папка базыФайловый вариант

Проверьте наличие файла 1Cv8.1CD и скопируйте папку целиком

База на SQL-сервереКлиент-серверный вариант

Ищите бэкап средствами СУБД, а не файлы в каталоге сервера

Копий нет, база поврежденаСложный случай

Потребуется тестирование и исправление или восстановление средствами СУБД

Восстановление файловой базы из копии каталога

Самый простой сценарий. Если у вас есть архивная копия папки с базой, завершите работу всех пользователей, закройте конфигуратор и сеансы 1С:Предприятия. Открытая база может блокировать файлы, и копирование пройдёт с ошибками.

Скопируйте каталог с копией на прежнее место, заменив повреждённые файлы, или положите рядом и зарегистрируйте базу заново в списке информационных баз через диалог запуска 1С (кнопка «Добавить», указание пути к каталогу). Второй вариант безопаснее: старая папка остаётся нетронутой.

После подключения запустите базу в режиме 1С:Предприятие и проверьте, что открываются основные документы и отчёты. Если копия создавалась штатно при закрытых сеансах, дополнительных действий обычно не требуется.

Восстановление базы из dt-файла через конфигуратор

Загрузка dt — самый распространённый способ восстановления. Он подходит и для файловых, и для клиент-серверных баз. Создайте пустую информационную базу (или используйте существующую, понимая, что её данные будут полностью заменены) и откройте её в конфигураторе.

Порядок действий
  1. 1
    Создайте пустую базу или убедитесь, что в целевой базе нет нужных данных — загрузка сотрёт их полностью
  2. 2
    Откройте конфигуратор, в меню выберите Администрирование — Загрузить информационную базу
  3. 3
    Укажите путь к dt-файлу и подтвердите загрузку
  4. 4
    Дождитесь завершения: для больших баз процесс может занять десятки минут
  5. 5
    Ответьте на вопрос о перезапуске конфигуратора и обновите конфигурацию базы данных, если потребуется
  6. 6
    Запустите базу в режиме 1С:Предприятие и проверьте основные данные

При загрузке в непустую базу конфигуратор предупредит, что данные будут замещены. Это действие необратимо: если в целевой базе есть актуальные данные, которых нет в dt-файле, они будут потеряны.

Для больших клиент-серверных баз загрузка dt может занимать часы и требовать значительного объёма оперативной памяти на сервере. Если база велика, рассмотрите восстановление из бэкапа СУБД — это существенно быстрее.

Восстановление клиент-серверной базы средствами СУБД

Если база работает на MS SQL Server или PostgreSQL и резервное копирование настроено на уровне СУБД, восстановление выполняется штатными инструментами — например, через SQL Server Management Studio (задача Restore Database) или утилитой pg_restore для PostgreSQL.

Порядок в целом такой: восстановите бэкап в новую базу данных на сервере СУБД, затем в консоли кластера серверов 1С создайте информационную базу, указав существующую базу данных, или перенастройте параметры существующей. Важно, чтобы версия платформы 1С соответствовала той, под которой работала база, — иначе потребуется обновление конфигурации базы данных.

Что делать, если резервной копии нет

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

Дополнительно доступно тестирование и исправление из конфигуратора (Администрирование — Тестирование и исправление) с отключёнными на первом проходе деструктивными опциями вроде «Удалять ссылки на несуществующие объекты». Агрессивные настройки могут удалить данные, которые ещё возможно спасти.

При повреждении клиент-серверной базы используйте средства проверки целостности самой СУБД (например, DBCC CHECKDB в MS SQL). Если данные критичны и штатные средства не помогают, разумнее привлечь специалистов по восстановлению, чем продолжать эксперименты на единственном экземпляре.

Проверка результата и типичные ошибки

После восстановления базу нужно проверить, а не просто запустить. Убедитесь, что открываются ключевые документы за последние периоды, сходятся обороты в основных отчётах (оборотно-сальдовая ведомость, остатки склада), пользователи могут войти под своими учётными записями, а регламентные задания и обмены данными работают.

Контрольные точки

Как проверить результат

Вход пользователей
Норма

Все учётные записи активны, права соответствуют ролям

Тревожный признак

Пользователи не входят или видят чужие данные

Отчётность
Норма

ОСВ и остатки сходятся с ожидаемыми значениями на дату копии

Тревожный признак

Пустые отчёты, ошибки при формировании

Обмены и интеграции
Норма

Синхронизации запускаются без ошибок

Тревожный признак

Ошибки подключения, дубли документов после обмена

Журнал регистрации
Норма

Нет массовых ошибок после восстановления

Тревожный признак

Повторяющиеся ошибки при обращении к данным

Типичные ошибки
01
Загрузка dt в рабочую базу без предварительной копии — актуальные данные замещаются старыми без возможности отката
02
Восстановление копии, сделанной при открытых сеансах, — база не открывается или содержит рассогласованные данные
03
Отсутствие проверки после восстановления — проблемы обнаруживаются пользователями через несколько дней, когда откат уже сложен
04
Хранение копий на том же диске, что и база, — при отказе диска теряется и база, и резерв
05
Путаница между dt-файлом и бэкапом СУБД — попытка загрузить bak через конфигуратор неизбежно завершится ошибкой

Отдельная частая ситуация — восстановление копии и немедленный запуск обменов с другими системами. Сначала убедитесь, что база консистентна, иначе через обмены ошибки и дубли разойдутся по связанным системам, и чистить их придётся в нескольких местах.

Как не допустить потери данных в будущем

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

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

Итог

Что важно запомнить

Способ восстановления зависит от типа копии: dt грузится через конфигуратор, бэкап СУБД — средствами СУБД, копия каталога — простым копированием. Перед восстановлением сохраните текущее состояние базы, после — проверьте данные, права и обмены. Регулярные проверенные копии — единственная надёжная защита от потери данных.

Частые вопросы

Можно ли восстановить базу 1С, если резервной копии никогда не делали?

Шансы зависят от характера повреждения. Для файловой базы попробуйте утилиту chdbfl.exe и тестирование и исправление из конфигуратора, работая только с копией файла. Для базы на SQL-сервере проверьте, не осталось ли автоматических бэкапов СУБД или теневых копий диска. Полностью уничтоженные файлы без копий восстановить штатными средствами нельзя.

Чем отличается dt-файл от бэкапа SQL-базы?

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

Загрузка dt прервалась с ошибкой. База испорчена?

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

Как восстановить только один документ, а не всю базу?

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

Нужно ли обновлять конфигурацию после восстановления из старой копии?

Если после создания копии конфигурация обновлялась, то при загрузке старого dt в базу с новой конфигурацией могут возникнуть несоответствия. Обычно загрузку выполняют в базу с той версией конфигурации, на которой делалась выгрузка, а затем обновляются штатно. Конфигуратор сам предложит обновить конфигурацию базы данных, если это требуется.

Как часто нужно делать резервные копии базы 1С?

Ориентируйтесь на допустимый объём потерь: если потеря одного рабочего дня критична — делайте копии ежедневно, при интенсивной работе — чаще. Для клиент-серверных баз дополнительно используйте копии журналов транзакций СУБД, которые позволяют восстановить данные на произвольный момент времени.