Проверка и восстановление информационной базы через Конфигуратор: файловый и серверный вариант

· 9 мин

Содержание

Тестирование и исправление базы 1С запускают в Конфигураторе: Администрирование → Тестирование и исправление…. В базе не должно быть других пользователей, потому что процедура требует монопольного доступа. Перед запуском обязательно сделайте резервную копию: режим «Тестирование и исправление» меняет данные, и откатить его нельзя.

Частое заблуждение — что эта проверка «чинит всё подряд». На деле она лечит логическую и ссылочную целостность, индексы и итоги. Физически повреждённый файл файловой базы она не спасёт: для этого есть отдельная утилита chdbfl.exe, и запускать её нужно первой.

Что подготовить до запуска проверки

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

Резервная копия

Есть два способа сохранить базу :

  • 📦 Выгрузка в .dt. В Конфигураторе: Администрирование → Выгрузить информационную базу…. Подходит для файлового и серверного варианта.
  • 📁 Копия файла 1Cv8.1CD. Только для файловой базы и только когда в ней никто не работает . Скопируйте весь каталог базы.
  • 🗄 Бэкап средствами СУБД. Для серверной базы на MS SQL или PostgreSQL это самый быстрый и надёжный путь.

Если база уже выдаёт ошибки при открытии, выгрузка в .dt может не пройти. Тогда копируйте файл 1Cv8.1CD целиком — повреждённую копию тоже лучше иметь, чем не иметь никакой.

Свободное место на диске

Реструктуризация и сжатие создают временные копии таблиц. Держите на диске свободное место не меньше размера самой базы. Если места не хватит, процедура прервётся с ошибкой записи.

Монопольный доступ

Все пользователи должны выйти из программы, включая фоновые сеансы и сервисы обмена. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) есть удобный инструмент: Администрирование → Обслуживание, команда «Блокировка работы пользователей». Она запрещает новые входы и выводит сообщение уже работающим.

Перед запуском тестирования
Выполнено: 0 / 5

Запуск тестирования в файловой базе

Файловая база — это каталог с файлом 1Cv8.1CD. Порядок действий для неё такой.

Шаг 1. Проверка физической целостности (chdbfl)

Утилита chdbfl.exe лежит в каталоге bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1586\bin\chdbfl.exe (номер у вас будет свой).

  1. Закройте все сеансы базы, включая Конфигуратор.
  2. Запустите chdbfl.exe.
  3. В поле имени файла укажите путь к 1Cv8.1CD.
  4. Включите флажок «Исправлять обнаруженные ошибки», если хотите сразу исправлять. Для первого прохода можно оставить его выключенным и просто посмотреть результат.
  5. Нажмите «Выполнить» и дождитесь окончания.

Если утилита нашла и исправила ошибки, переходите к следующему шагу. Если ошибок нет, шаг 2 всё равно полезен: chdbfl смотрит только на физическую структуру файла.

Шаг 2. Тестирование и исправление в Конфигураторе

  1. Откройте базу в режиме Конфигуратора под пользователем с полными правами.
  2. Выберите Администрирование → Тестирование и исправление….
  3. Отметьте нужные проверки (подробнее — в разделе про режимы ниже).
  4. Выберите режим: «Тестирование и исправление» или «Только тестирование».
  5. Задайте действия для битых ссылок и частично потерянных объектов.
  6. Нажмите «Выполнить».

По ходу работы внизу окна Конфигуратора выводятся сообщения. После окончания появится итог: «Тестирование закончено» или текст ошибки.

Первый запуск делайте в режиме «Только тестирование». Так вы увидите масштаб проблем и примете решение по каждой, не меняя данных вслепую.

Тестирование и исправление базы на сервере 1С

В клиент-серверном варианте сама команда та же: Администрирование → Тестирование и исправление… в Конфигураторе. Отличия — в подготовке и в наборе проверок.

Как освободить серверную базу

Пользователей на сервере отключают через консоль администрирования кластера:

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

Чтобы войти в Конфигуратор при включённой блокировке, добавьте к строке запуска параметр /UC с вашим кодом, например /UCservice2024.

Удаление сеансов обрывает работу пользователей без сохранения. Делайте это после предупреждения и в согласованное окно, а не посреди рабочего дня.

Что делать средствами СУБД

На сервере часть работы эффективнее делать средствами самой СУБД:

ЗадачаMS SQL ServerPostgreSQL
Резервная копияПолный бэкап базыpg_dump или бэкап кластера
Перестроение индексовПлан обслуживания: перестроение/реорганизация индексовREINDEX
Обновление статистикиПлан обслуживания: обновление статистикиANALYZE
Освобождение местаСжатие базы (с осторожностью)VACUUM

Тестирование и исправление в Конфигураторе при этом остаётся нужным для логической и ссылочной целостности и пересчёта итогов. СУБД про объекты 1С ничего не знает: битую ссылку на справочник она не увидит.

Сжатие таблиц информационной базы в диалоге Конфигуратора относится к файловому варианту. На сервере место освобождают средствами СУБД.

Режимы проверки и что каждый меняет в базе

В окне тестирования есть набор флажков. Каждый отвечает за свою операцию.

ПроверкаЧто делаетКогда включатьРиск и время
Реиндексация таблицПересоздаёт индексыМедленные отборы, ошибки индексовНизкий, быстро
Проверка логической целостностиИщет нарушения структуры данныхПочти всегдаНизкий
Проверка ссылочной целостностиИщет ссылки на несуществующие объектыОшибки «Объект не найден»Зависит от выбранных действий
Пересчёт итоговПересчитывает итоги регистровНеверные остатки в отчётахНизкий, на большой базе долго
Сжатие таблицУбирает пустое место в файлеФайловая база сильно «распухла»Низкий
Реструктуризация таблицПолностью пересоздаёт таблицыСерьёзные повреждения, крайний случайСамый долгий, нужен запас места

Режим «Только тестирование» и «Тестирование и исправление»

  • 🔍 Только тестирование — программа ищет ошибки и пишет их в сообщения, ничего не меняя.
  • 🛠 Тестирование и исправление — программа исправляет найденное по правилам, которые вы задали.

Битые ссылки и частично потерянные объекты

Для ссылок на несуществующие объекты есть три варианта:

  • Создавать объекты — на месте пропавшего объекта появится пустая заглушка. Ссылки в документах сохранятся, заглушку потом можно заполнить или заменить.
  • Удалять ссылки — поле в документе станет пустым. Документ может перестать проводиться из-за незаполненного реквизита.
  • Не изменять — ничего не трогать, только сообщить.

Для частично потерянных объектов варианты похожие: создавать, удалять или не изменять.

Выбирайте «Создавать объекты», если не уверены. Заглушку видно и её можно исправить. Удалённую ссылку восстановить можно только из резервной копии.

Разбор отчёта и устранение найденных ошибок

Сообщения тестирования выводятся в окно служебных сообщений Конфигуратора. Их можно скопировать или сохранить в текстовый файл — длинный список удобнее разбирать в редакторе.

Как читать сообщения

Каждое сообщение называет таблицу или объект метаданных, где найдена проблема. По этому названию понятно, где искать: справочник, документ или регистр.

  • 📌 Ошибки ссылочной целостности указывают объект, который ссылается, и тип пропавшего объекта.
  • 📌 Ошибки логической целостности относятся к структуре таблиц — обычно их исправляет сам режим исправления или реструктуризация.
  • 📌 Ошибки итогов исправляются пересчётом итогов.

Что делать с заглушками после исправления

Если вы выбрали «Создавать объекты», в справочниках появятся новые элементы без реквизитов. В пользовательском режиме ссылки на пропавшие данные до исправления выглядят как <Объект не найден> (…).

Дальше порядок такой:

  1. Найдите созданные элементы в справочниках, например через отбор по пустым реквизитам.
  2. Решите для каждого: заполнить реквизиты или заменить ссылки на правильный элемент.
  3. Для замены в типовых конфигурациях на БСП подходит обработка «Поиск и удаление дублей» в Администрирование → Обслуживание.
  4. Перепроведите документы за затронутый период.
  5. Запустите тестирование ещё раз в режиме «Только тестирование» и убедитесь, что ошибок не осталось.

Если пропал элемент, который точно был, загляните в журнал регистрации: Администрирование → Журнал регистрации в Конфигураторе. По событию удаления видно, кто и когда его удалил.

Когда проверка не запускается или обрывается

Большинство сбоев при тестировании связаны с доступом к базе, местом на диске и повреждением файла.

Диагностика: выберите симптом

Если после исправления база не открывается

Не запускайте процедуру повторно с другими настройками поверх. Восстановите резервную копию, сделанную перед тестированием, и пройдите путь заново: сначала 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 часто заканчивается повреждениями.
  • 📈 Переход на клиент-серверный вариант, когда пользователей становится больше пяти-десяти, а база растёт.
  • 🗓 Ежедневное резервное копирование с проверкой, что копия восстанавливается.

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

Можно ли запустить тестирование, если в базе работают пользователи?
Нет. Процедура требует монопольного режима. Пока в базе есть другие сеансы, Конфигуратор не начнёт проверку.
Сколько времени занимает тестирование и исправление?
На базе в 1–2 ГБ — обычно минуты. На базах в десятки гигабайт с пересчётом итогов и реструктуризацией — часы. Заранее закладывайте нерабочее время.
Можно ли прервать процедуру?
Технически можно, но база может остаться в промежуточном состоянии. Если прервали, восстановите копию или продолжите с параметром -UseStartPoint при пакетном запуске.
Чем chdbfl отличается от тестирования в Конфигураторе?
chdbfl проверяет физическую структуру файла 1Cv8.1CD и работает только с файловой базой. Конфигуратор проверяет данные с точки зрения объектов 1С: ссылки, итоги, логическую целостность.
Нужен ли полный набор флажков при каждом запуске?
Нет. Для профилактики хватит реиндексации, логической целостности и пересчёта итогов. Ссылочную целостность и реструктуризацию включайте, когда есть конкретные симптомы.