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

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

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

Как безопасно остановить зависшее тестирование и исправление информационной базы 1С, что делать с блокировками и как восстановить работу базы без потери данных.

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

Главное правило: способ остановки зависит от режима, в котором запущено тестирование. В файловой базе процесс выполняется локальным процессом 1cv8.exe, в клиент-серверном варианте — рабочим процессом сервера 1С (rphost), а в фоновом режиме — отдельным фоновым заданием. Универсальной кнопки «отменить» в самой утилите нет, поэтому действовать приходится средствами операционной системы или консоли кластера.

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

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

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

Объективные признаки реальной работы процесса смотрите в Диспетчере задач Windows: у процесса 1cv8.exe (или rphost на сервере) должна быть активность по диску и процессору. Если процессор загружен на 10–25% и идёт чтение диска — тестирование выполняется, прерывать его не нужно. Если же процесс потребляет почти нулевые ресурсы длительное время (десятки минут и более), а оперативная память не меняется — вероятно, процесс завис или заблокирован.

Нагрузка на диск и CPUПроцесс активно работает

Тестирование идёт нормально, дождитесь завершения

Нулевая активность долгое времяВероятное зависание или ожидание блокировки

Проверьте активные сеансы и блокировки в консоли

Ошибка монопольного доступа при запускеВ базе есть активные сеансы

Завершите сеансы пользователей перед тестированием

Окно конфигуратора не отвечаетФорма может не перерисовываться при нагрузке

Судите о состоянии по Диспетчеру задач, а не по окну

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

Файловый вариант — самый частый сценарий: тестирование запущено из конфигуратора на локальном компьютере или по сети, и окно перестало отвечать. Процедура выполняется тем же процессом 1cv8.exe, в котором открыт конфигуратор, поэтому завершение процесса остановит и тестирование.

Остановка в файловом режиме
  1. 1
    Откройте Диспетчер задач (Ctrl+Shift+Esc) и перейдите на вкладку «Подробности»
  2. 2
    Найдите процесс 1cv8.exe, соответствующий зависшему конфигуратору — ориентируйтесь по пользователю и времени запуска
  3. 3
    Убедитесь по нагрузке на диск, что процесс действительно неактивен
  4. 4
    Выберите «Снять задачу» и подтвердите завершение
  5. 5
    Проверьте, что файл базы 1Cv8.1CD не остался заблокированным, и сделайте копию каталога базы перед любыми дальнейшими действиями

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

Важно понимать риск: если тестирование было запущено с включёнными вариантами исправления (например, «Очистка ссылок» или «Удаление объектов») и процесс прерван в момент записи, база может остаться в частично изменённом состоянии. Именно поэтому перед запуском тестирования с исправлением всегда делается выгрузка в dt или копия файла 1Cv8.1CD.

Остановка тестирования в клиент-серверном варианте

В клиент-серверной архитектуре тестирование и исправление выполняется на стороне сервера 1С, и «снять задачу» на компьютере администратора недостаточно — закрытие конфигуратора не остановит процедуру на сервере. Управлять процессом нужно через консоль кластера серверов 1С.

Откройте консоль администрирования, найдите нужную информационную базу и перейдите в раздел «Сеансы». Найдите сеанс с приложением «Конфигуратор» или фоновое задание, выполняющее тестирование, и завершите его через контекстное меню. Это корректный способ: сервер завершит транзакцию и освободит соединение с СУБД штатно, без «подвисших» процессов.

Если сеанс не завершается штатно, крайняя мера — остановка рабочего процесса rphost на сервере. Это грубое воздействие: вместе с тестированием пострадают все сеансы, обслуживаемые этим процессом, поэтому применять его стоит только вне рабочего времени или после перевода пользователей на другой рабочий процесс. На стороне СУБД (MS SQL, PostgreSQL) также проверьте, не осталось ли активных запросов от завершённого сеанса — их можно снять средствами самой СУБД.

Остановка фонового задания тестирования

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

Для остановки откройте в режиме предприятия обработку «Консоль заданий» (в типовых конфигурациях на БСП — раздел «Администрирование», «Обслуживание», «Регламентные и фоновые задания»), найдите активное задание и нажмите «Отменить». Если задание не отвечает на отмену, завершите соответствующий сеанс в консоли кластера серверов — у фонового задания всегда есть свой сеанс с типом «Фоновое задание».

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

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

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

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

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

Открытие базы в конфигураторе
Норма

База открывается без ошибок

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

Ошибка формата потока или «база данных повреждена»

Файл блокировки 1Cv8.1CL
Норма

Файл отсутствует при закрытых сеансах

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

Файл остался и мешает входу при отсутствии сеансов

Активные процессы на сервере
Норма

Нет зависших rphost и запросов к СУБД

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

Остались активные запросы от завершённого сеанса

Повторное тестирование
Норма

Проходит этапы с видимой активностью диска

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

Зависает на том же месте — вероятно, есть повреждение данных

Профилактика: как не доводить до принудительной остановки

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

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

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

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

Сначала убедитесь в реальном зависании по нагрузке на диск и процессор. Файловую базу останавливайте через завершение 1cv8.exe, клиент-серверную — через завершение сеанса в консоли кластера, фоновое задание — через консоль заданий. После остановки сделайте копию базы и проверьте её работоспособность, а в будущем запускайте тестирование поэтапно в нерабочее время с обязательной резервной копией.

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

Можно ли остановить тестирование 1С кнопкой «Отмена»?

В стандартном окне тестирования и исправления кнопки отмены нет. Прервать процедуру можно только внешними средствами: завершением процесса 1cv8.exe для файловой базы или завершением сеанса в консоли кластера для клиент-серверной.

Что будет с базой, если снять процесс во время исправления?

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

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

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

База заблокирована после аварийной остановки, что делать?

Проверьте, что все сеансы действительно завершены. Для файловой базы удалите оставшийся файл блокировки 1Cv8.1CL в каталоге базы. Для клиент-серверной — завершите зависшие сеансы в консоли кластера и проверьте отсутствие активных запросов на стороне СУБД.

Как восстановить базу, если после прерывания она не открывается?

Оптимальный путь — восстановление из резервной копии. Если копии нет, для файловой базы используйте утилиту chdbfl.exe из каталога установки платформы: она проверяет физическую целостность файла 1Cv8.1CD. Работайте утилитой только с копией файла, а не с единственным оригиналом.

Можно ли запускать тестирование, пока пользователи работают?

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