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

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

Как удалить файлы блокировки 1С и снять ошибку «база занята»

Что такое файлы блокировки 1С, где они лежат и как их безопасно удалить. Разбираем 1Cv8.1CL, сеансовые блокировки и ошибки «база занята».

При аварийном завершении работы 1С, обрыве сети или некорректном завершении сеанса в каталоге информационной базы остаются служебные файлы блокировки. Из-за них программа при следующем запуске выдаёт сообщения вроде «Каталог базы данных занят», «Ошибка разделенного доступа к базе» или «Конфликт блокировок при выполнении транзакции». Удаление этих файлов — стандартная процедура восстановления доступа к файловой базе.

Блокировки бывают двух типов: файловые — служебные файлы в каталоге базы, и сеансовые — активные сеансы пользователей, которые держат базу в клиент-серверном варианте или через веб-сервер. Перед удалением чего-либо важно понять, с каким типом вы столкнулись, иначе можно повредить данные работающих пользователей.

Ниже разобраны безопасные способы снятия блокировок для файловых и клиент-серверных баз, признаки того, что блокировка действительно «мертвая», и ситуации, когда самостоятельно вмешиваться не стоит.

Что такое файлы блокировки и почему они остаются

Платформа 1С:Предприятие 8 при открытии файловой базы создаёт в её каталоге служебный файл 1Cv8.1CL. Он сигнализирует другим процессам, что база открыта, и хранит информацию об активных соединениях. При штатном закрытии всех сеансов этот файл удаляется автоматически.

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

Кроме 1Cv8.1CL, в каталоге базы могут встречаться временные файлы журнала регистрации и служебные файлы с расширениями .tmp, .lck в подкаталогах. Удалять без разбора всё подряд нельзя: основной файл базы 1Cv8.1CD — это сами данные.

Как определить, что блокировка «мёртвая», а сеанс не активен

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

Признаки «мёртвой» блокировки: все пользователи вышли из программы, но при запуске появляется сообщение о занятости базы; база лежит в сетевой папке, и компьютер, который держал сеанс, выключен или перезагружен; в диспетчере задач нет процессов 1cv8.exe, 1cv8c.exe и rmngr.exe, связанных с этой базой.

Файл 1Cv8.1CL есть, сеансов нетМёртвая блокировка

Файл можно удалить после проверки процессов

Сообщение «Каталог базы данных занят»Остаточная блокировка или активный сеанс

Проверить, не открыта ли база на другом компьютере

Ошибка «Конфликт блокировок» в клиент-серверной базеКонкурирующие транзакции

Удаление файлов не поможет — нужна работа с сеансами в консоли кластера

База опубликована на веб-сервереБлокировку держит процесс веб-сервера

Проверить пулы приложений и перезапустить веб-сервер

Как удалить файл блокировки в файловой базе

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

Порядок действий
  1. 1
    Попросите всех пользователей закрыть 1С и убедитесь, что база никем не открыта
  2. 2
    Откройте список баз в стартере 1С, выделите нужную базу и посмотрите путь к её каталогу внизу окна
  3. 3
    Откройте этот каталог в проводнике
  4. 4
    Найдите файл 1Cv8.1CL и удалите его
  5. 5
    Запустите базу и проверьте, что вход выполняется без ошибок

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

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

Как снять блокировку в клиент-серверной базе

В клиент-серверном варианте (SQL Server, PostgreSQL и другие СУБД) файла 1Cv8.1CL в каталоге базы нет, и удаление файлов здесь не применяется. Блокировками управляет сервер 1С:Предприятия и сама СУБД.

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

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

Блокировки при регламентных операциях и обновлении

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

Если обновление прервалось аварийно, блокировка может остаться активной. Способы снятия: запустить конфигуратор и завершить обновление штатно; запустить 1С с параметром командной строки /CРазрешитьРаботуПользователей; либо через конфигуратор в меню «Администрирование → Параметры информационной базы» снять признак блокировки, если он там установлен.

text
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"C:\Bases\MyBase" /CРазрешитьРаботуПользователей

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

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

Если файл блокировки удалён, но база выдаёт ошибки формата потока, повреждения таблиц или «Файл базы данных повреждён», проблема глубже — аварийное завершение повредило сам файл данных. В этом случае воспользуйтесь утилитой chdbfl.exe из каталога установки платформы (папка bin): укажите путь к файлу 1Cv8.1CD и запустите проверку с исправлением ошибок, предварительно сделав копию файла.

После chdbfl.exe рекомендуется выполнить тестирование и исправление базы в конфигураторе («Администрирование → Тестирование и исправление») с проверкой логической и ссылочной целостности. Это длительная операция, на больших базах она занимает заметное время.

Типичные ошибки
01
Удаление 1Cv8.1CL при активных сеансах пользователей — обрыв работы и потеря несохранённых данных
02
Удаление или переименование файла 1Cv8.1CD вместе со служебными файлами — потеря всей базы
03
Попытка снять блокировку обновления удалением файлов — блокировка хранится внутри базы, файлы тут ни при чём
04
Проверка chdbfl.exe без предварительной копии файла — при неудачном исправлении откатить изменения будет невозможно
05
Игнорирование повторяющихся блокировок — если ошибка возникает регулярно, причина в нестабильной сети или диске, а не в самих файлах

Профилактика: как снизить частоту зависших блокировок

Регулярно появляющиеся «мёртвые» блокировки — симптом, а не самостоятельная проблема. Частые причины: нестабильная сеть между пользователями и общей папкой, принудительное завершение процессов 1С, перебои с питанием, антивирус, сканирующий каталог базы в момент интенсивной записи.

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

Итог

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

В файловой базе достаточно удалить 1Cv8.1CL после проверки отсутствия активных сеансов. В клиент-серверной базе блокировки снимаются через консоль кластера. Блокировка обновления снимается параметром запуска или через конфигуратор. Перед любыми действиями делайте резервную копию.

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

Можно ли удалить 1Cv8.1CL, пока кто-то работает в базе?

Технически файл удалится, но сеанс пользователя будет аварийно разорван, а несохранённые данные потеряны. Делать это допустимо только при полной уверенности, что активных сеансов нет.

Файл 1Cv8.1CL появляется снова сразу после удаления — почему?

Значит, какой-то процесс заново открывает базу: активный сеанс на другом компьютере, фоновое задание, публикация на веб-сервере или подключённая программа обмена. Найдите и завершите этот процесс, затем удалите файл повторно.

Где искать каталог базы, если я его не знаю?

В окне запуска 1С выделите базу — путь к каталогу отображается в нижней части окна. Для клиент-серверных баз вместо пути указываются сервер и имя базы.

Поможет ли удаление файлов блокировки при ошибке «Конфликт блокировок при выполнении транзакции»?

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

Опасно ли запускать chdbfl.exe?

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

Как снять блокировку «Выполняется обновление информационной базы», если конфигуратор не открывается?

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