Тестирование и исправление базы 1С 8.3 и 8.2: пошаговая инструкция
Тестирование и исправление базы 1С 8.3 — штатный механизм восстановления повреждённой информационной базы. Сбой питания, аварийное завершение работы, сетевые проблемы, ошибки SSD — и часть данных может стать недоступной. Стандартные средства не подходят, восстанавливать из резервной копии — потеря последних изменений. На этом этапе на помощь приходит встроенная утилита Конфигуратора.
В материале — когда применять тестирование, какие режимы выбрать, как использовать утилиту chdbfl.exe и что делать с клиент-серверной базой.
Содержание
- 1 Когда нужно тестирование и исправление
- 2 Главное правило: сначала резервная копия
- 3 Запуск тестирования через Конфигуратор
- 4 6 режимов проверки
- 5 Виды действий с битыми ссылками
- 6 Возможность приостановки
- 7 Утилита chdbfl.exe
- 8 Тестирование клиент-серверной базы
- 9 Сколько занимает тестирование
- 10 Альтернатива: выгрузка и загрузка .DT
- 11 Что делать после тестирования
- 12 Типичные ошибки и решения
- 13 Часто задаваемые вопросы
- 13.1 Можно ли запустить тестирование в рабочее время?
- 13.2 Какой режим запускать первым?
- 13.3 Что делать, если база не открывается даже в Конфигураторе?
- 13.4 Можно ли отменить запущенное тестирование?
- 13.5 Помогает ли тестирование от вирусов-шифровальщиков?
- 13.6 Сколько раз в год запускать профилактически?
- 13.7 Заменяет ли тестирование резервное копирование?
- 14 Резюме
Когда нужно тестирование и исправление
| Признак | Что произошло |
|---|---|
| Не открывается база | Повреждение системных таблиц |
| Документы зависают при проведении | Битые индексы или регистры |
| Не сходятся остатки в отчётах | Расхождение итогов с движениями |
| Ошибки «Битая ссылка» при открытии справочников | Удалённые объекты остались в ссылках |
| База тормозит после сбоя | Раздутые индексы, нужна реиндексация |
| База не загружается из .DT | Повреждение архивной копии |
Профилактическое тестирование
Раз в квартал стоит запускать механизм даже при отсутствии явных проблем. Это:
- Сжимает базу за счёт удаления помеченных объектов.
- Перестраивает индексы — ускоряет работу.
- Пересчитывает итоги — корректирует возможные расхождения.
Главное правило: сначала резервная копия
Любое тестирование с исправлением может изменить или удалить данные в базе. Восстановить ситуацию назад без копии не получится.
Чек-лист подготовки
- Закройте все сеансы пользователей в базе.
- Создайте резервную копию через копирование файла .1CD или выгрузку в .DT.
- Убедитесь, что копия читается (откройте её на тестовом компьютере).
- Запустите Конфигуратор с правами администратора.
Запуск тестирования через Конфигуратор
Основной инструмент — встроенная утилита Конфигуратора.
Как открыть
- Запустите 1С в режиме Конфигуратор.
- Откройте меню Администрирование → Тестирование и исправление.
- Откроется окно с настройками режимов.
6 режимов проверки
1. Реиндексация таблиц информационной базы
Полное перестроение индексов всех таблиц. Не меняет данные — только их структуру.
Что даёт:
- Ускорение запросов в 2–10 раз на больших базах.
- Восстановление работоспособности после сбоев чтения индексов.
- Отсутствие риска потери данных.
Когда применять: после сбоя питания, при медленной работе базы, в рамках планового обслуживания.
2. Контроль логической целостности
Проверяет, что все объекты соответствуют структуре конфигурации. Например, что для каждой записи документа есть нужные реквизиты.
Что даёт:
- Выявление документов с отсутствующими обязательными реквизитами.
- Поиск противоречий между разделом конфигурации и фактическими данными.
Когда применять: после ошибок при обновлении конфигурации, при подозрении на ручное вмешательство в базу.
3. Контроль ссылочной целостности
Самый важный режим для большинства пользователей. Проверяет, что все ссылки на объекты в базе ведут на существующие записи.
Что находит:
- Битые ссылки — указывают на удалённые объекты.
- Пустые ссылки — частично заполненные данные.
- Циклические ссылки — взаимные пересылки.
Когда применять: при ошибках «Битая ссылка», после некорректного удаления данных, после сбоя обмена с другой базой.
4. Пересчёт итогов
Регистры в 1С хранят как движения, так и итоги. Иногда они расходятся.
Что даёт:
- Восстановление корректности отчётов о остатках.
- Ускорение запросов к регистрам — итоги быстрее, чем пересчёт.
Когда применять: при расхождении в отчётах, после массового перепроведения, при подозрении на повреждение регистров.
5. Сжатие таблиц информационной базы
Удаление физических следов помеченных на удаление объектов.
Что даёт:
- Уменьшение размера файла базы.
- Освобождение места на диске.
- Ускорение работы.
Альтернатива: аналогичный эффект даёт выгрузка в .DT и загрузка обратно. Это полностью пересоздаёт структуру базы.
6. Реструктуризация таблиц
Самый «глубокий» режим. Программа полностью пересоздаёт все таблицы базы по текущей структуре конфигурации.
Что даёт:
- Восстановление после серьёзных нарушений структуры.
- Решение проблем после некорректного обновления.
Особенности:
- Самый длительный режим — может занять часы.
- Требует много свободного места на диске (до удвоенного размера базы).
- Применяется только при серьёзных проблемах.
Виды действий с битыми ссылками
В нижней части окна выбирается, что делать с найденными ссылочными ошибками.
| Опция | Действие |
|---|---|
| Создавать объекты | Создать пустые элементы для битых ссылок — заполнить вручную |
| Очищать ссылки | Удалить битые ссылки и связанные объекты |
| Не изменять | Только показать — ничего не менять |
Что выбрать
Первый запуск — всегда «Не изменять». Сначала смотрим, что нашлось, потом принимаем решение по каждой ситуации.
Возможность приостановки
На больших базах процесс может длиться часами. В программе есть таймаут.
Как настроить
- Установите флаг «Прервать выполнение проверки через».
- Укажите количество минут.
- По истечении времени проверка остановится.
- В следующий раз поставьте флаг «Продолжить прерванное ранее тестирование».
Это удобно для базы с 24/7 эксплуатацией — можно проверять по 2 часа в ночное окно.
Утилита chdbfl.exe
Альтернативный инструмент для случаев, когда Конфигуратор недоступен или база не открывается совсем.
Что умеет
- Проверять физическую целостность файла .1CD.
- Восстанавливать повреждённую структуру файла.
- Работать с базой без её открытия.
Где найти
В папке установленной платформы — обычно C:\Program Files\1cv8\версия\bin\chdbfl.exe. Скачивать отдельно не нужно.
Алгоритм запуска
- Закройте все сеансы 1С.
- Откройте папку платформы и запустите
chdbfl.exe. - В диалоге укажите путь к файлу .1CD.
- Поставьте галку «Исправлять найденные ошибки».
- Нажмите «Выполнить».
- Дождитесь сообщения о результате.
Ограничения
- Только файловые базы. Для SQL не работает.
- Проверяет только физическую структуру файла, не логику данных.
- Не помогает при ссылочных ошибках.
Тестирование клиент-серверной базы
Для базы на MS SQL Server или PostgreSQL применяются другие инструменты.
MS SQL Server
Команда DBCC CHECKDB через SQL Server Management Studio:
- Подключитесь к серверу через SSMS.
- Откройте новое окно запроса.
- Выполните
DBCC CHECKDB('имя_базы') WITH NO_INFOMSGS. - Если найдены ошибки — выполните
DBCC CHECKDB('имя_базы', REPAIR_ALLOW_DATA_LOSS)в режиме single user.
Команда REPAIR_ALLOW_DATA_LOSS может удалить повреждённые данные, поэтому перед запуском обязательна резервная копия.
PostgreSQL
Используются утилиты VACUUM и REINDEX:
VACUUM ANALYZE— очистка устаревших версий и обновление статистики.REINDEX DATABASE имя_базы— перестроение индексов.pg_dump+pg_restore— полная пересборка через выгрузку и восстановление.
Эти команды запускаются администратором СУБД, не из 1С.
Сколько занимает тестирование
| Размер базы | Все режимы | Только реиндексация |
|---|---|---|
| До 1 ГБ | 15–30 минут | 5 минут |
| 1–10 ГБ | 1–3 часа | 15–30 минут |
| 10–50 ГБ | 3–10 часов | 1–3 часа |
| Больше 50 ГБ | 10+ часов | 3+ часа |
Время сильно зависит от скорости диска (SSD vs HDD), процессора и объёма оперативной памяти.
Альтернатива: выгрузка и загрузка .DT
Простой и эффективный способ восстановления небольшой базы.
Алгоритм
- Выгрузите базу в файл .DT через Конфигуратор.
- Создайте новую пустую информационную базу.
- Загрузите .DT в новую базу.
- Подключите её на место старой.
Этот способ автоматически:
- Сжимает базу.
- Восстанавливает индексы.
- Удаляет физический мусор.
Недостаток — на больших базах выгрузка/загрузка может занять часы. И не работает для клиент-серверной с большим объёмом данных.
Что делать после тестирования
Если ошибки исправлены
- Запустите базу в режиме 1С:Предприятие.
- Проверьте, что система работает корректно.
- Сформируйте основные отчёты — оборотно-сальдовую ведомость, ОСВ по счетам.
- Сравните с данными до проблемы.
- Сделайте свежую резервную копию.
Если ошибки остались
- Восстановите базу из самой свежей рабочей копии.
- При невозможности — обратитесь к специалистам по обслуживанию 1С.
- Серьёзные повреждения иногда требуют ручной правки данных через консоль администрирования или прямой редактор SQL.
Типичные ошибки и решения
Ошибка 1. Не хватает места на диске для тестирования
Реструктуризация требует временно удвоенный размер базы. Освободите место или выберите другой диск для временных файлов в настройках платформы.
Ошибка 2. Тестирование зависло на этапе реиндексации
База очень большая или диск медленный. Подождите 1–2 часа. Если зависло окончательно — отмените, восстановите из копии и запускайте по одному режиму.
Ошибка 3. После исправления исчезли данные
Опция «Очищать ссылки» удалила объекты с битыми ссылками. Восстановите из резервной копии, в следующий раз применяйте «Не изменять» или «Создавать объекты».
Ошибка 4. chdbfl.exe не запускается
Файл должен быть в папке текущей платформы 1С. Если установлено несколько версий — используйте chdbfl.exe из той же версии, под которой работает база.
Ошибка 5. После реструктуризации не открывается база
Произошёл сбой во время операции. База повреждена окончательно. Восстановите из резервной копии — это последняя страховка.
Часто задаваемые вопросы
Можно ли запустить тестирование в рабочее время?
Технически — нет. Тестирование требует монопольного доступа к базе. Все остальные пользователи должны выйти.
Какой режим запускать первым?
Реиндексацию — она безопасна и часто решает большинство проблем. Затем — Контроль ссылочной целостности с опцией «Не изменять». Только после анализа результатов запускайте остальные режимы.
Что делать, если база не открывается даже в Конфигураторе?
Запускайте chdbfl.exe — он работает с файлом без открытия базы. Если и это не помогает — восстановление только из резервной копии.
Можно ли отменить запущенное тестирование?
Да, через кнопку «Прервать» в окне процесса. Состояние базы при прерывании может быть промежуточным — поэтому перед стартом обязательна резервная копия.
Помогает ли тестирование от вирусов-шифровальщиков?
Нет. Если файл базы зашифрован — никакой инструмент 1С не восстановит данные. Только резервная копия с не подключённого носителя.
Сколько раз в год запускать профилактически?
Раз в квартал — реиндексацию и пересчёт итогов. Раз в полугодие — все режимы кроме реструктуризации. Реструктуризацию — только при явных проблемах.
Заменяет ли тестирование резервное копирование?
Нет. Это разные инструменты. Тестирование — реактивный механизм при проблемах. Резервное копирование — превентивная защита от потерь.
Резюме
- Тестирование и исправление базы 1С 8.3 — встроенный механизм Конфигуратора с 6 режимами проверки. Применяется при ошибках, расхождениях в отчётах или для профилактики.
- Перед любым запуском обязательна резервная копия. При исправлении часть данных может быть удалена или изменена.
- Утилита chdbfl.exe из папки платформы работает с файловой базой без её открытия. Используется, когда Конфигуратор недоступен.
- Для клиент-серверной базы применяются инструменты СУБД: DBCC CHECKDB для MS SQL, VACUUM и REINDEX для PostgreSQL. Запускаются администратором, не из 1С.
Читайте также
- Файл базы данных повреждён в 1С 8.3: как исправить ошибку
- Неверный формат хранилища данных в 1С 8.3: как исправить ошибку
- Ошибка формата потока в 1С: причины и способы исправить пошагово
- Ошибка «Нарушена целостность структуры конфигурации» в 1С 8.3: как исправить
- Свёртка базы в 1С 8.3 Бухгалтерия 3.0: пошаговый алгоритм без ошибок
