Проверка и восстановление информационной базы через Конфигуратор: файловый и серверный вариант
Содержание
Тестирование и исправление базы 1С запускают в Конфигураторе: Администрирование → Тестирование и исправление…. В базе не должно быть других пользователей, потому что процедура требует монопольного доступа. Перед запуском обязательно сделайте резервную копию: режим «Тестирование и исправление» меняет данные, и откатить его нельзя.
Частое заблуждение — что эта проверка «чинит всё подряд». На деле она лечит логическую и ссылочную целостность, индексы и итоги. Физически повреждённый файл файловой базы она не спасёт: для этого есть отдельная утилита chdbfl.exe, и запускать её нужно первой.
Что подготовить до запуска проверки
Процедура длится от пары минут на маленькой базе до нескольких часов на базе в десятки гигабайт. Прервать её на середине — худший сценарий. Поэтому подготовку не пропускайте.
Резервная копия
Есть два способа сохранить базу :
- 📦 Выгрузка в .dt. В Конфигураторе:
Администрирование → Выгрузить информационную базу…. Подходит для файлового и серверного варианта. - 📁 Копия файла 1Cv8.1CD. Только для файловой базы и только когда в ней никто не работает . Скопируйте весь каталог базы.
- 🗄 Бэкап средствами СУБД. Для серверной базы на MS SQL или PostgreSQL это самый быстрый и надёжный путь.
Если база уже выдаёт ошибки при открытии, выгрузка в .dt может не пройти. Тогда копируйте файл 1Cv8.1CD целиком — повреждённую копию тоже лучше иметь, чем не иметь никакой.
Свободное место на диске
Реструктуризация и сжатие создают временные копии таблиц. Держите на диске свободное место не меньше размера самой базы. Если места не хватит, процедура прервётся с ошибкой записи.
Монопольный доступ
Все пользователи должны выйти из программы, включая фоновые сеансы и сервисы обмена. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) есть удобный инструмент: Администрирование → Обслуживание, команда «Блокировка работы пользователей». Она запрещает новые входы и выводит сообщение уже работающим.
Запуск тестирования в файловой базе
Файловая база — это каталог с файлом 1Cv8.1CD. Порядок действий для неё такой.
Шаг 1. Проверка физической целостности (chdbfl)
Утилита chdbfl.exe лежит в каталоге bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1586\bin\chdbfl.exe (номер у вас будет свой).
- Закройте все сеансы базы, включая Конфигуратор.
- Запустите
chdbfl.exe. - В поле имени файла укажите путь к
1Cv8.1CD. - Включите флажок «Исправлять обнаруженные ошибки», если хотите сразу исправлять. Для первого прохода можно оставить его выключенным и просто посмотреть результат.
- Нажмите «Выполнить» и дождитесь окончания.
Если утилита нашла и исправила ошибки, переходите к следующему шагу. Если ошибок нет, шаг 2 всё равно полезен: chdbfl смотрит только на физическую структуру файла.
Шаг 2. Тестирование и исправление в Конфигураторе
- Откройте базу в режиме Конфигуратора под пользователем с полными правами.
- Выберите
Администрирование → Тестирование и исправление…. - Отметьте нужные проверки (подробнее — в разделе про режимы ниже).
- Выберите режим: «Тестирование и исправление» или «Только тестирование».
- Задайте действия для битых ссылок и частично потерянных объектов.
- Нажмите «Выполнить».
По ходу работы внизу окна Конфигуратора выводятся сообщения. После окончания появится итог: «Тестирование закончено» или текст ошибки.
Первый запуск делайте в режиме «Только тестирование». Так вы увидите масштаб проблем и примете решение по каждой, не меняя данных вслепую.
Тестирование и исправление базы на сервере 1С
В клиент-серверном варианте сама команда та же: Администрирование → Тестирование и исправление… в Конфигураторе. Отличия — в подготовке и в наборе проверок.
Как освободить серверную базу
Пользователей на сервере отключают через консоль администрирования кластера:
- Откройте «Администрирование серверов 1С Предприятия».
- Найдите информационную базу в кластере и откройте её свойства.
- Включите «Блокировка начала сеансов включена» и задайте сообщение для пользователей.
- Включите «Блокировка регламентных заданий включена».
- Укажите код разрешения — с ним вы сами сможете войти, несмотря на блокировку.
- Удалите оставшиеся сеансы в ветке «Сеансы» базы.
Чтобы войти в Конфигуратор при включённой блокировке, добавьте к строке запуска параметр /UC с вашим кодом, например /UCservice2024.
Удаление сеансов обрывает работу пользователей без сохранения. Делайте это после предупреждения и в согласованное окно, а не посреди рабочего дня.
Что делать средствами СУБД
На сервере часть работы эффективнее делать средствами самой СУБД:
| Задача | MS SQL Server | PostgreSQL |
|---|---|---|
| Резервная копия | Полный бэкап базы | pg_dump или бэкап кластера |
| Перестроение индексов | План обслуживания: перестроение/реорганизация индексов | REINDEX |
| Обновление статистики | План обслуживания: обновление статистики | ANALYZE |
| Освобождение места | Сжатие базы (с осторожностью) | VACUUM |
Тестирование и исправление в Конфигураторе при этом остаётся нужным для логической и ссылочной целостности и пересчёта итогов. СУБД про объекты 1С ничего не знает: битую ссылку на справочник она не увидит.
Сжатие таблиц информационной базы в диалоге Конфигуратора относится к файловому варианту. На сервере место освобождают средствами СУБД.
Режимы проверки и что каждый меняет в базе
В окне тестирования есть набор флажков. Каждый отвечает за свою операцию.
| Проверка | Что делает | Когда включать | Риск и время |
|---|---|---|---|
| Реиндексация таблиц | Пересоздаёт индексы | Медленные отборы, ошибки индексов | Низкий, быстро |
| Проверка логической целостности | Ищет нарушения структуры данных | Почти всегда | Низкий |
| Проверка ссылочной целостности | Ищет ссылки на несуществующие объекты | Ошибки «Объект не найден» | Зависит от выбранных действий |
| Пересчёт итогов | Пересчитывает итоги регистров | Неверные остатки в отчётах | Низкий, на большой базе долго |
| Сжатие таблиц | Убирает пустое место в файле | Файловая база сильно «распухла» | Низкий |
| Реструктуризация таблиц | Полностью пересоздаёт таблицы | Серьёзные повреждения, крайний случай | Самый долгий, нужен запас места |
Режим «Только тестирование» и «Тестирование и исправление»
- 🔍 Только тестирование — программа ищет ошибки и пишет их в сообщения, ничего не меняя.
- 🛠 Тестирование и исправление — программа исправляет найденное по правилам, которые вы задали.
Битые ссылки и частично потерянные объекты
Для ссылок на несуществующие объекты есть три варианта:
- Создавать объекты — на месте пропавшего объекта появится пустая заглушка. Ссылки в документах сохранятся, заглушку потом можно заполнить или заменить.
- Удалять ссылки — поле в документе станет пустым. Документ может перестать проводиться из-за незаполненного реквизита.
- Не изменять — ничего не трогать, только сообщить.
Для частично потерянных объектов варианты похожие: создавать, удалять или не изменять.
Выбирайте «Создавать объекты», если не уверены. Заглушку видно и её можно исправить. Удалённую ссылку восстановить можно только из резервной копии.
Разбор отчёта и устранение найденных ошибок
Сообщения тестирования выводятся в окно служебных сообщений Конфигуратора. Их можно скопировать или сохранить в текстовый файл — длинный список удобнее разбирать в редакторе.
Как читать сообщения
Каждое сообщение называет таблицу или объект метаданных, где найдена проблема. По этому названию понятно, где искать: справочник, документ или регистр.
- 📌 Ошибки ссылочной целостности указывают объект, который ссылается, и тип пропавшего объекта.
- 📌 Ошибки логической целостности относятся к структуре таблиц — обычно их исправляет сам режим исправления или реструктуризация.
- 📌 Ошибки итогов исправляются пересчётом итогов.
Что делать с заглушками после исправления
Если вы выбрали «Создавать объекты», в справочниках появятся новые элементы без реквизитов. В пользовательском режиме ссылки на пропавшие данные до исправления выглядят как <Объект не найден> (…).
Дальше порядок такой:
- Найдите созданные элементы в справочниках, например через отбор по пустым реквизитам.
- Решите для каждого: заполнить реквизиты или заменить ссылки на правильный элемент.
- Для замены в типовых конфигурациях на БСП подходит обработка «Поиск и удаление дублей» в
Администрирование → Обслуживание. - Перепроведите документы за затронутый период.
- Запустите тестирование ещё раз в режиме «Только тестирование» и убедитесь, что ошибок не осталось.
Если пропал элемент, который точно был, загляните в журнал регистрации: Администрирование → Журнал регистрации в Конфигураторе. По событию удаления видно, кто и когда его удалил.
Когда проверка не запускается или обрывается
Большинство сбоев при тестировании связаны с доступом к базе, местом на диске и повреждением файла.
Если после исправления база не открывается
Не запускайте процедуру повторно с другими настройками поверх. Восстановите резервную копию, сделанную перед тестированием, и пройдите путь заново: сначала chdbfl, потом «Только тестирование», потом исправление с вариантом «Создавать объекты».
Если база не восстанавливается и копии нет, нужна помощь специалиста по восстановлению данных. Самостоятельные эксперименты с повреждённым файлом без копии часто делают хуже.
Регулярное обслуживание и запуск по расписанию
Тестирование и исправление не нужно гонять каждый день. Разумная частота для небольшой файловой базы — раз в месяц и после аварий: отключения питания, падения сервера, сбоя обмена.
Запуск из командной строки
Конфигуратор умеет выполнять тестирование в пакетном режиме, без открытия окна. Это удобно для запуска по ночам через планировщик Windows.
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /IBCheckAndRepair -ReIndex -LogIntegrity -RecalcTotals -IBCompression -BadRefCreate -BadDataCreate /Out "D:\Logs\test_buh.txt"
Для серверной базы вместо /F укажите /S "сервер\имя_базы".
Основные параметры:
| Параметр | Что включает |
|---|---|
-ReIndex | Реиндексация таблиц |
-LogIntegrity | Проверка логической целостности |
-LogAndRefsIntegrity | Проверка логической и ссылочной целостности |
-RecalcTotals | Пересчёт итогов |
-IBCompression | Сжатие таблиц (файловая база) |
-Rebuild | Реструктуризация таблиц |
-TestOnly | Только тестирование, без исправлений |
-BadRefCreate / -BadRefClear / -BadRefNone | Битые ссылки: создавать, очищать, не изменять |
-BadDataCreate / -BadDataDelete | Частично потерянные объекты: создавать или удалять |
-TimeLimit:hhh:mm | Ограничение времени выполнения |
-UseStartPoint | Продолжить с места, где проверку прервали |
Пароль в bat-файле лежит открытым текстом. Создайте для обслуживания отдельного пользователя 1С и ограничьте доступ к файлу задания.
Лог из /Out проверяйте после каждого ночного запуска. Пустой лог или строка об успешном завершении — норма. Ошибки в логе — повод запустить проверку вручную и разобраться.
Что снижает риск повреждений
- ⚡ Источник бесперебойного питания на компьютере или сервере с файловой базой.
- 🌐 Для файловой базы — стабильная локальная сеть. Работа с файловой базой через VPN и нестабильный Wi-Fi часто заканчивается повреждениями.
- 📈 Переход на клиент-серверный вариант, когда пользователей становится больше пяти-десяти, а база растёт.
- 🗓 Ежедневное резервное копирование с проверкой, что копия восстанавливается.
Частые вопросы
Можно ли запустить тестирование, если в базе работают пользователи?
Сколько времени занимает тестирование и исправление?
Можно ли прервать процедуру?
-UseStartPoint при пакетном запуске.