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

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

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

Как безопасно остановить зависшее тестирование и исправление базы 1С, завершить процесс, восстановить работу и не потерять данные. Пошаговая инструкция.

Тестирование и исправление информационной базы (ТиИ) — штатная процедура Конфигуратора, которая проверяет целостность данных и при включённых флажках исправления вносит изменения напрямую в таблицы базы. Проблема в том, что на больших базах процедура может идти часами, блокировать работу пользователей и внешне выглядеть как зависание. Принять решение об остановке нужно осознанно: прерывание на этапе исправления опаснее, чем на этапе проверки.

Главное правило: если процедура только проверяет базу (флажки исправления сняты), остановка почти безопасна. Если включены режимы «Исправлять ошибки» или «Удалять объекты с потерянными ссылками», прерывание на середине операции может оставить записи в промежуточном состоянии. Поэтому порядок действий зависит от того, в каком режиме запущено ТиИ и как развёрнута база — в файловом варианте или на сервере.

Ниже разобраны признаки зависания, безопасные способы остановки для файловой и клиент-серверной базы, действия после прерывания и типичные ошибки, которые превращают штатную ситуацию в восстановление из копии.

Как понять, что процедура зависла, а не просто долго работает

Прежде чем останавливать процесс, убедитесь, что он действительно остановился. ТиИ на объёмной базе может подолгу «сидеть» на одном этапе — например, на проверке ссылочной целостности большого регистра. Внешне это выглядит как зависание, но работа идёт.

Проверьте, растёт ли файл базы или меняется ли время его модификации (для файлового варианта это файл 1Cv8.1CD). Откройте Диспетчер задач: если процесс 1cv8.exe потребляет процессорное время и работает с диском, процедура жива. Для серверного варианта смотрите нагрузку на СУБД — активные запросы от имени базы означают, что проверка продолжается.

Прогресс-бар не двигается 15–30 минутВозможно зависание, но не факт

Проверить нагрузку на CPU и диск у процесса 1cv8.exe

Процесс потребляет CPU и дискПроцедура работает

Подождать: прерывание на этапе исправления опасно

CPU 0%, диск не используется, память не меняетсяПроцесс завис

Готовить остановку и проверять наличие резервной копии

Включены флажки исправленияВысокий риск при прерывании

Останавливать только при явном зависании

Мягкая остановка через интерфейс Конфигуратора

Первый и самый безопасный способ — кнопка «Отмена» в окне прогресса процедуры. Платформа завершает текущую элементарную операцию и прекращает обход таблиц. На этапе проверки это занимает секунды или минуты; на этапе исправления платформа доводит текущую транзакцию до конца, поэтому реакция может быть не мгновенной.

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

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

Остановка зависшего процесса в файловой базе

Если интерфейс не отвечает и отмена не работает, для файловой базы остаётся снятие процесса. Убедитесь, что все пользователи вышли из базы, а сеансов в ней не осталось. Затем в Диспетчере задач найдите процесс 1cv8.exe, соответствующий зависшему Конфигуратору, и завершите его.

После снятия процесса проверьте каталог базы: рядом с файлом 1Cv8.1CD не должно остаться незакрытых блокировок. Перед повторным запуском сделайте копию каталога базы целиком — простым копированием файлов при остановленных процессах. Это ваша страховка на случай, если база окажется повреждена прерванным исправлением.

Остановка процедуры в клиент-серверном варианте

В клиент-серверной архитектуре ТиИ выполняется на сервере 1С:Предприятия, и снятие клиентского процесса не остановит саму процедуру. Действовать нужно через консоль кластера: найдите сеанс, в котором запущено тестирование, и удалите его. Если сеанс не удаляется, остановите рабочий процесс кластера (rphost), обслуживающий этот сеанс.

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

Способы остановки и их последствия

Кнопка «Отмена» в Конфигураторе

Самый безопасный вариант. Подходит всегда, если интерфейс отвечает. Ограничение: реакция не мгновенная на этапе исправления

Снятие процесса 1cv8.exe (файловая база)

Для зависшего Конфигуратора. Риск: повреждение при активной записи, обязательна копия базы

Удаление сеанса в консоли кластера

Для клиент-серверной базы. Действует на процедуру на сервере, остальные сеансы не затрагиваются

Перезапуск службы сервера 1С

Крайняя мера при полном зависании. Разрывает все соединения всех баз кластера

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

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

Если появились ошибки вида «Ошибка формата потока», «Файл базы данных повреждён» или база не открывается вовсе — не пытайтесь лечить её повторным ТиИ на живых данных. Разверните резервную копию в отдельный каталог и экспериментируйте там. Для файловых баз дополнительно существует утилита chdbfl.exe из каталога установки платформы, которая проверяет физическую целостность файла 1Cv8.1CD; запускать её тоже следует на копии.

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

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

Открытие Конфигуратора
Норма

База открывается без ошибок, конфигурация доступна

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

Ошибка формата потока или сообщение о повреждении

Вход в режим Предприятия
Норма

Пользователи входят, документы открываются

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

Ошибки при открытии объектов, пропавшие данные

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

Читается, есть записи о прерывании

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

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

Блокировки
Норма

Активных сеансов нет, база свободна

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

Висят фантомные сеансы, мешающие входу

Как не допустить повторения ситуации

Большинство случаев «вечного» ТиИ связано с размером базы и выбором неподходящего времени. Запускайте процедуру в нерабочие часы, предварительно оценив длительность на копии базы. Снимайте лишние флажки: полный набор проверок с исправлением нужен редко, обычно достаточно проверки логической целостности без исправления.

Для файловых баз большого объёма рассмотрите переход на клиент-серверный вариант: там ТиИ работает заметно быстрее и управляется централизованно. Регламентируйте обязательное создание выгрузки в dt перед каждым запуском процедуры с исправлением — это единственная гарантия отката.

Типичные ошибки
01
Остановка ТиИ без резервной копии — при повреждении базы откатиться не к чему
02
Снятие процесса при активной работе с диском — прерывание записи на середине транзакции
03
Повторный запуск исправления сразу после прерывания — наслоение незавершённых изменений
04
Перезагрузка сервера без проверки зависших запросов в СУБД — блокировки остаются
05
Запуск ТиИ в рабочее время на большой базе — блокировка всех пользователей на часы

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

Можно ли остановить тестирование и исправление без последствий?

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

ТиИ работает уже несколько часов — это нормально?

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

После принудительной остановки база не открывается. Что делать?

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

Как остановить ТиИ, если Конфигуратор запущен на сервере терминалов?

Найдите сеанс пользователя, в котором запущен Конфигуратор, и снимите процесс 1cv8.exe именно в этом сеансе. Для клиент-серверной базы дополнительно проверьте консоль кластера — процедура выполняется на сервере 1С, и сеанс нужно удалить там.

Чем отличается chdbfl.exe от тестирования и исправления?

ТиИ проверяет логическую и ссылочную целостность данных средствами платформы, а chdbfl.exe — физическую целостность файла 1Cv8.1CD. Утилита применяется только к файловым базам и только при остановленной работе с ними, запускать её следует на копии файла.

Итог

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

Сначала убедитесь, что процедура действительно зависла, а не работает. Останавливайте мягко через «Отмену», принудительно — только при зависании и при наличии резервной копии. После прерывания проверьте базу до запуска пользователей, а эксперименты по восстановлению проводите на копии.