Администрирование · 9 мин
Как остановить тестирование и исправление в 1С
Как правильно остановить тестирование и исправление информационной базы 1С, когда процесс завис. Риски прерывания, восстановление базы и профилактика.
Тестирование и исправление информационной базы — штатная процедура конфигуратора 1С, которая проверяет физическую и логическую целостность данных. На больших базах процесс может идти часами, а иногда кажется, что он завис окончательно. Прежде чем прерывать процедуру, важно понять: действительно ли процесс завис или просто выполняет ресурсоёмкую операцию, например реиндексацию большой таблицы.
Резкое прерывание тестирования и исправления — одна из самых частых причин повреждения файловых баз 1С. Если процесс остановить в момент записи, файл 1Cv8.1CD может остаться в несогласованном состоянии, и база перестанет открываться. Поэтому останавливать процедуру нужно осознанно, с резервной копией и с пониманием, как восстанавливаться, если что-то пойдёт не так.
Как понять, что процесс завис, а не просто долго работает
Тестирование и исправление на объёмной базе может занимать несколько часов, особенно если включены режимы реиндексации таблиц и проверки ссылочной целостности. Отсутствие видимого прогресса в течение 20–40 минут само по себе не означает зависание: на этапе реиндексации индикатор может не двигаться, пока обрабатывается одна большая таблица.
Объективные признаки реальной работы процесса: процесс 1cv8.exe в диспетчере задач потребляет процессорное время или активно читает и пишет на диск, файл базы изменяется по размеру, растёт временный файл в каталоге пользователя. Если же загрузка процессора и диска близка к нулю длительное время, а размер файлов не меняется — вероятно, процесс действительно завис.
Как проверить состояние процесса
Периодически или постоянно выше нуля
Строго 0% более 30–60 минут
Есть чтение/запись в диспетчере задач или мониторе ресурсов
Диск простаивает, обращений к файлу базы нет
Меняется со временем
Не меняется длительное время
Штатный способ: кнопка прерывания
Во время выполнения тестирования и исправления конфигуратор показывает окно состояния процесса. В нём доступна кнопка прерывания (в разных версиях платформы она может называться «Прервать» или отображаться как крестик в строке состояния). Нажатие отправляет процессу команду корректно завершить текущую операцию и остановиться.
Важно понимать: прерывание не мгновенное. Платформа дожидается завершения текущей атомарной операции, чтобы не оставить данные в промежуточном состоянии. На больших таблицах ожидание может занять несколько минут — это нормально. Не нажимайте кнопку повторно и не закрывайте конфигуратор, пока идёт остановка.
Если после нажатия «Прервать» прошло более 15–20 минут без реакции и признаков активности, можно переходить к принудительному завершению процесса.
- 1Нажмите «Прервать» в окне состояния тестирования
- 2Дождитесь завершения текущей операции — до 10–15 минут
- 3Убедитесь, что конфигуратор вернулся в рабочее состояние
- 4Проверьте, что база открывается в режиме Предприятия
- 5Перед повторным запуском сделайте резервную копию
Принудительная остановка через диспетчер задач
Если штатное прерывание не срабатывает, остаётся снятие процесса. Откройте диспетчер задач (Ctrl+Shift+Esc), найдите процесс 1cv8.exe, соответствующий конфигуратору с запущенным тестированием, и завершите его. Если на компьютере запущено несколько сеансов 1С, убедитесь, что завершаете именно нужный процесс — ориентируйтесь по командной строке процесса (включается в настройках колонок диспетчера задач).
Для клиент-серверного варианта работы ситуация другая: тестирование выполняется на стороне сервера 1С или СУБД, и завершение клиентского процесса не остановит операцию. В этом случае остановку выполняют через консоль кластера серверов 1С (завершение соединения или сеанса) либо на уровне СУБД — через завершение соответствующего запроса. Такие действия должен выполнять администратор, понимающий последствия.
Что сделать до остановки: резервная копия
Главное правило безопасной остановки — наличие копии базы, сделанной до запуска тестирования. Если тестирование запускали с включённым режимом исправления ошибок, база уже могла быть частично изменена, и откат на копию вернёт её в исходное состояние.
Если копии нет, а процесс нужно остановить, попробуйте скопировать файл 1Cv8.1CD прямо во время работы процесса. Такая копия не гарантирует целостность, но часто позволяет открыть базу и выгрузить данные. Для клиент-серверных баз используйте штатные средства резервного копирования СУБД.
Действия после аварийной остановки
После принудительного завершения процесса первым делом проверьте, открывается ли база. Если конфигуратор или режим Предприятия запускаются без ошибок — сделайте выгрузку базы в файл .dt. Это создаст логически целостную копию данных, даже если физическая структура файла частично нарушена.
Если база не открывается или выдаёт ошибки формата потока, воспользуйтесь утилитой chdbfl.exe из каталога установки платформы (подкаталог bin). Утилита проверяет физическую целостность файловой базы и может исправить повреждения, при этом она не требует монопольного доступа к конфигуратору — достаточно, чтобы файл базы не был занят другими процессами.
Только после успешной проверки chdbfl и подтверждения, что база открывается, имеет смысл повторно запускать тестирование и исправление — желательно сначала в режиме «Тестирование» без исправления, чтобы оценить объём проблем.
- 1Убедитесь, что все процессы 1cv8.exe с этой базой завершены
- 2Скопируйте файл 1Cv8.1CD в безопасное место
- 3Запустите chdbfl.exe, укажите файл базы, включите исправление ошибок
- 4Проверьте открытие базы в конфигураторе и режиме Предприятия
- 5Сделайте выгрузку в .dt и только потом планируйте повторное тестирование
Как запускать тестирование, чтобы не пришлось его останавливать
Большинство ситуаций с «вечным» тестированием возникает из-за неправильного выбора режимов. Проверка ссылочной целостности на большой базе — самая долгая операция. Если цель — просто устранить ошибки физической структуры, начните с минимального набора: реиндексация таблиц и проверка логической целостности.
Практические рекомендации: запускайте процедуру в нерабочее время, предупредите пользователей о монопольном режиме, освободите место на диске (реиндексация требует свободного пространства, сопоставимого с размером базы), отключите антивирусное сканирование каталога базы на время процедуры. Для очень больших файловых баз рассмотрите переход на клиент-серверный вариант — там тестирование выполняется средствами СУБД заметно быстрее.
Ответы на частые вопросы
Можно ли остановить тестирование и исправление без последствий?
Штатное прерывание кнопкой «Прервать» обычно безопасно: платформа завершает текущую операцию корректно. Принудительное снятие процесса — всегда риск, особенно для файловых баз. После него обязательна проверка утилитой chdbfl.exe.
Процесс висит уже несколько часов — это нормально?
Для больших баз (десятки гигабайт) с включённой проверкой ссылочной целостности — возможно. Проверьте активность процесса в диспетчере задач: если есть нагрузка на процессор или диск, процесс работает, и лучше дождаться завершения.
База не открывается после прерывания. Что делать?
Не запускайте повторно конфигуратор «до победного». Завершите все процессы 1С, скопируйте файл 1Cv8.1CD, прогоните chdbfl.exe с включённым исправлением. Если утилита не помогла — восстанавливайте базу из резервной копии или выгрузки .dt.
Как остановить тестирование в клиент-серверной базе?
Завершение клиентского приложения не остановит процесс. Операцию нужно прерывать на сервере: через консоль кластера 1С (принудительное завершение сеанса) или на уровне СУБД. Это задача администратора сервера.
Нужно ли после прерывания запускать тестирование заново?
Да, если исходная задача не решена. Но сначала убедитесь, что база открывается и работает, сделайте копию и запускайте процедуру с минимально необходимым набором режимов, а не всеми сразу.
Удалит ли прерывание уже исправленные ошибки?
Нет. Изменения, которые платформа успела зафиксировать до прерывания, сохраняются в базе. Именно поэтому после остановки состояние базы может отличаться от исходного, и важно иметь копию, сделанную до запуска процедуры.
Что важно запомнить
Сначала убедитесь, что процесс действительно завис, а не выполняет долгую операцию. Прерывайте штатной кнопкой и давайте платформе время на корректную остановку. Принудительное снятие процесса — только с резервной копией. После аварийной остановки проверяйте базу утилитой chdbfl.exe, а повторное тестирование запускайте с минимальным набором режимов.