Файл базы 1С заблокирован: где искать причину и как снять блокировку
Содержание
Сначала выясните, кто держит базу. В 99% случаев блокировку снимает не удаление файлов, а закрытие зависшего сеанса: процесс 1cv8.exe на чьём-то компьютере или «зомби»-сеанс на сервере. Служебные файлы блокировки трогают в последнюю очередь и только когда в базе точно никого нет.
Порядок такой: определить тип базы (файловая или клиент-серверная), найти владельца блокировки, завершить сеанс, и только потом чистить файлы и проверять права. Ниже каждый шаг с признаками, чтобы не удалить лишнего.
Перед любыми действиями с файлом базы 1Cv8.1CD сделайте его копию. Если база нужна завтра утром, копия за две минуты сэкономит день.
Откуда берётся блокировка: файловая и клиент-серверная база
Блокировка нужна платформе, чтобы два человека не испортили одни и те же данные. Проблемы начинаются, когда блокировка осталась, а её владелец уже исчез.
Файловая база — это каталог с файлом 1Cv8.1CD и служебными файлами рядом. Каждый подключённый клиент отмечает себя в служебных файлах блокировок. Если компьютер завис, сеть оборвалась или процесс убили из диспетчера задач, отметка остаётся.
Клиент-серверная база хранится в СУБД, а сеансами управляет кластер серверов 1С. Файлов блокировки там нет. Зависает сеанс или соединение, и кластер продолжает считать пользователя «внутри».
Определить тип просто: в списке баз на запуске у файловой в строке написан путь вида D:\Bases\Buh, у серверной — имя сервера и базы (srv-1c\buh). Подробности отображаются внизу окна при выделении базы.
Типичные ситуации:
- 🔒 пользователь закрыл окно, а процесс
1cv8.exeостался в диспетчере задач; - 🔌 пропал сетевой диск или VPN на ходу работы;
- 🖥 сервер перезагрузили без остановки сеансов;
- 🧱 антивирус сканирует каталог базы и держит файл;
- 👥 нет прав на создание и удаление файлов в каталоге базы.
Как найти, кто именно держит базу
Не угадывайте, смотрите факты.
Список активных пользователей
Если база открывается хотя бы в режиме Конфигуратора, зайдите в него и откройте Администрирование → Активные пользователи. Там видны имя, компьютер, приложение и время начала сеанса. Сеанс с вчерашним временем и неизвестным пользователем почти наверняка зависший.
В обычном режиме работы список доступен администратору через раздел Администрирование (поиск по слову «активные» в командном интерфейсе быстро найдёт нужный пункт).
Кто держит файлы на файловом сервере
Если база лежит в общей папке на Windows-сервере:
- Откройте «Управление компьютером» на сервере.
- Раскройте
Служебные программы → Общие папки → Открытые файлы. - Найдите строки с путём к каталогу базы. В колонке «Пользователь» видно, кто держит файл.
Вторая колонка с именем компьютера подскажет, куда идти. Закрыть открытый файл можно прямо в этом списке через контекстное меню, но сначала лучше позвонить человеку: у него может быть несохранённая работа.
Процессы на компьютере пользователя
На подозрительном ПК откройте диспетчер задач и найдите 1cv8.exe, 1cv8c.exe. Если окон 1С нет, а процесс висит — завершите его. Это самый частый и самый безопасный способ снять блокировку.
В таблице сведены признаки и куда смотреть.
| Симптом | Где искать | Что делать |
|---|---|---|
| База не открывается, окон 1С ни у кого нет | Диспетчер задач на ПК, открытые файлы на сервере | Завершить зависший 1cv8.exe |
| Конфигуратор просит монопольный доступ | Активные пользователи | Завершить сеансы, закрыть клиентов |
| Серверная база, пользователь «висит» | Консоль кластера, список сеансов | Завершить сеанс, соединение |
| После сбоя питания база не открывается | Служебные файлы, целостность 1Cv8.1CD | Копия, проверка и исправление |
Удаление файлов блокировки в файловой базе
Если вы убедились, что никто в базе не работает , а блокировка осталась, можно убрать служебные файлы блокировок.
Убирайте их только тогда, когда в базе нет ни одного сеанса и ни один процесс 1С не держит каталог. Удаление при живых сеансах может повредить данные: платформа потеряет информацию о том, кто что меняет.
Что можно удалять
В каталоге файловой базы лежит основной файл данных 1Cv8.1CD. Его не трогаем ни при каких обстоятельствах. Рядом есть служебные файлы блокировок (например, с расширениями .LCK и .1CL). Именно их и удаляют при «залипшей» блокировке. Основной файл данных и папку журнала регистрации 1Cv8Log не удаляйте.
Пошагово
- Попросите всех выйти из базы. Проверьте списком открытых файлов, что каталог свободен.
- Сделайте копию всего каталога базы.
- Включите показ скрытых файлов и расширений в проводнике, иначе служебные файлы не видны.
- Удалите файлы блокировок рядом с
1Cv8.1CD. Если Windows пишет, что файл занят, значит, его кто-то держит, и надо вернуться к поиску владельца. - Запустите 1С и откройте базу. Служебные файлы платформа создаст заново.
Если файл не удаляется даже после завершения всех процессов, перезагрузите файловый сервер или хотя бы службу «Сервер» на нём. Это оборвёт все открытые сетевые соединения всех пользователей этого сервера (не только 1С), поэтому предупредите людей и делайте это вне рабочего времени. Это снимает «висящие» дескрипторы сетевых сессий.
Завершение сеансов в клиент-серверной базе
Здесь файлы удалять не нужно. Блокировку держит сеанс, и снимать её надо в кластере.
- Откройте консоль администрирования серверов 1С (оснастка «Администрирование серверов 1С:Предприятия»).
- Раскройте
Центральные серверы → Кластеры → Информационные базыи выберите нужную базу. - Откройте «Сеансы» и найдите зависший: ориентируйтесь на пользователя, компьютер и время последней активности.
- Удалите сеанс через контекстное меню. Затем проверьте раздел «Соединения»: там могут остаться хвосты от того же пользователя.
- Если сеансы возвращаются сами, посмотрите регламентные задания: они сами открывают сеансы.
Если сеансы мешают обновлению
Перед обновлением или тестированием удобно запретить новые подключения. В свойствах информационной базы в консоли кластера есть флаг блокировки начала сеансов, к нему можно задать сообщение и код разрешения. Администратор с кодом заходит с параметром запуска /UC, остальные получают сообщение.
Не забудьте убрать запрет после работ. Забытая блокировка начала сеансов выглядит как «база заблокирована», а файлы тут ни при чём.
Помните про регламентные задания: при блокировке сеансов они тоже останавливаются. После снятия запрета проверьте, что задания пошли.
Монопольный доступ и лечение базы
Монопольный доступ нужен не для всего. Он необходим для обновления структуры базы, загрузки .dt-файла, тестирования и исправления. Для обычного изменения конфигурации в Конфигураторе он не требуется.
Если Конфигуратор пишет, что не удаётся получить монопольный доступ, значит, в базе есть другие сеансы. Идите в «Активные пользователи» и закрывайте их: завершайте работу клиентов, затем зависшие процессы.
Когда блокировка — симптом повреждения базы
Если после аварийного отключения питания блокировки возвращаются, а база открывается с ошибками, дело может быть в целостности 1Cv8.1CD. Для файловой базы:
- Сделайте копию файла.
- Закройте все сеансы.
- Запустите Конфигуратор в монопольном режиме и откройте
Администрирование → Тестирование и исправление. - Выберите проверку логической и ссылочной целостности. Для начала включите режим «Только тестирование» без исправления, чтобы увидеть масштаб проблемы.
- Если нужны исправления, повторите с включённым исправлением.
Если Конфигуратор не открывает базу совсем, используйте утилиту chdbfl.exe из каталога bin установленной платформы. Она проверяет физическую структуру файла. Запускайте её тоже только на копии.
Для клиент-серверной базы целостность проверяет СУБД: средствами сервера баз данных и резервными копиями. Тут нужен администратор СУБД, а не удаление файлов.
Если «заблокировано» не про файл, а про данные
Часть пользователей ищет решение для блокировки файла, а на деле сталкивается с блокировкой данных внутри работающей базы. Это другая история, и удаление файлов тут не поможет.
Типичное сообщение: Конфликт блокировок при выполнении транзакции. Оно значит, что два сеанса одновременно хотят изменить одни и те же данные, например проводят документы с одним и тем же товаром. Один из них ждёт, другой уже держит.
Что делать:
- Подождите несколько секунд и повторите операцию. Часто второй сеанс просто доделывает проведение.
- Если ошибка повторяется, найдите долгую операцию: закрытие месяца , массовое проведение, обмен. Дождитесь её окончания или завершите зависший сеанс, как описано выше.
- В клиент-серверной базе блокировки видны в консоли кластера у соответствующего сеанса. По ним понятно, кто кого держит.
- Если конфликты возникают каждый день, разнесите тяжёлые операции по времени: массовое проведение и обмены ночью, а не в разгар рабочего дня.
Отдельно про признак «объект уже изменён». Сообщение вида «другой пользователь уже изменил объект» не про блокировку файла. Вы открыли документ, коллега сохранил его раньше, вы пытаетесь записать устаревшую версию. Закройте форму без сохранения и откройте документ заново.
Различить два случая легко. Если база вообще не открывается, речь о файле или сеансах. Если база работает, а ошибка выскакивает при проведении или записи конкретного документа, речь о блокировках данных.
Права доступа: почему блокировка возвращается снова
Если вы убрали блокировку, а через час она появилась снова, ищите системную причину.
Пользователю, который работает с файловой базой по сети, нужны права на изменение в каталоге базы: создание, запись, удаление файлов. Права «только чтение» дают странные эффекты: база открывается с ошибкой, служебные файлы не создаются или не удаляются, блокировки «залипают».
Что проверить:
- 📁 права группы пользователей на каталог базы — «Изменение» (или выше) с наследованием на вложенные файлы;
- 🛡 исключения антивируса — каталог базы и процессы
1cv8.exe,1cv8c.exe; - 🌐 стабильность сети: файловые базы плохо переносят обрывы;
- 💽 свободное место на диске с базой и локальной папке временных файлов.
Для файловой базы по сети лучше путь вида \\сервер\база, а не сетевой диск, подключённый по логину: диск отваливается при смене сессии, а вместе с ним остаётся блокировка.
Как реже ловить блокировки
Несколько привычек убирают большую часть проблем:
- Не работайте с файловой базой через нестабильный Wi-Fi или слабый VPN. Для удалённой работы используйте терминальный сервер .
- Перед выключением ПК закрывайте 1С штатно, а не выключателем.
- Назначьте одного ответственного за обновления и запретите запуск в Конфигураторе «на ходу», пока кто-то работает.
- Делайте резервные копии по расписанию и проверяйте, что копия восстанавливается.
- Если пользователей больше 10–15 или база разрослась, думайте о переходе на клиент-серверный вариант: он устойчивее к сбоям отдельных клиентов.
- Для зависших сеансов на сервере настройте мониторинг: сеансы без активности больше нескольких часов видно в консоли заранее.
Выберите подходящий путь по ситуации.
1cv8.exe, проверьте открытые файлы на сервере. Если не помогло, сделайте копию и удалите служебные файлы блокировок рядом с 1Cv8.1CD.chdbfl.exe.