Ошибка исключительной блокировки при обновлении файловой базы 1С
Архитектура файловой СУБД (1CD) и механизмы блокировок
Ошибка «Ошибка разделенного доступа к базе данных» или «Не удалось заблокировать базу данных для обновления (Исключительная блокировка)» возникает в файловом варианте работы 1С:Предприятие. Файловая база (формат 1Cv8.1CD) не имеет интеллектуального менеджера транзакций (как SQL Server). Для обеспечения целостности данных при обновлениях конфигурации (или реструктуризации), конфигуратор требует монопольного доступа к файлу, создавая специальный lock-файл (1Cv8.1CL). Если к папке с базой подключен хотя бы один сеанс (даже зависший), обновление будет прервано. Бизнес-риски: срыв регламентных обновлений отчетности, блокировка работы бухгалтерии.
Файлы, отвечающие за блокировки в папке базы
| Файл в директории БД | Назначение | Влияние на блокировку |
|---|---|---|
1Cv8.1CD | Основной файл базы данных (Таблицы и индексы). | Захватывается службой LanmanServer (SMB/Сеть). |
1Cv8.1CL | Файл блокировок сеансов (Lock-файл). | Наличие файла сигнализирует о наличии активных сеансов. Удерживает монопольный доступ. |
1Cv8tmp.1cd | Временный файл кэша/сессий (Session Data). | Зависший временный файл не дает конфигуратору стартовать реструктуризацию. |
Алгоритм снятия исключительной блокировки
Сценарий 1: Сброс зависших сетевых сессий (SMB/Windows Share)
Если база лежит на сервере (в расшаренной папке), пользователи часто просто закрывают ноутбук (Спящий режим), оставляя сетевой дескриптор файла открытым на сервере.
- Зайдите на сервер (или ПК), где физически лежит папка с базой 1С.
- Откройте консоль Управление компьютером (
compmgmt.msc). - Перейдите: Общие папки (Shared Folders) -> Сеансы (Sessions) / Открытые файлы (Open Files).
- Найдите все файлы с расширением
.1CDи.1CL, кликните ПКМ и выберите Закрыть открытый файл (Close Open File).
Сценарий 2: Очистка временных Lock-файлов
Если после сброса сессий ошибка остается, возможно, база 'упала' аварийно и не удалила за собой системные файлы блокировок.
1. Убедитесь, что все пользователи точно вышли из 1С.
2. Перейдите в папку с файловой базой (например, C:\Bases\Бухгалтерия).
3. Найдите и УДАЛИТЕ следующие файлы (ЕСЛИ ОНИ ЕСТЬ):
- 1Cv8.1CL (Файл блокировок)
- 1Cv8tmp.1cd (Временная база)
- 1Cv8.cfl (Файл логов)
ВАЖНО: Ни в коем случае не удаляйте файл 1Cv8.1CD (сама база) или 1Cv8.1g (Журнал регистрации)!Сценарий 3: Зависшие фоновые и COM-соединения
Даже если визуально 1С ни у кого не открыта, в диспетчере задач может висеть 'зомби' процесс.
- Проверьте Диспетчер задач -> Подробности (Task Manager).
- Найдите и завершите (Завершить дерево процессов) все процессы
1cv8.exeи1cv8c.exe. - Если настроен веб-сервер (Apache/IIS) для публикации файловой базы, перезапустите службу веб-сервера. Пул приложений IIS держит базу заблокированной!
Файловый формат 1С не предназначен для работы более 5 активных пользователей и подвержен безвозвратному разрушению (Corruption) при сбоях сети. Специалисты ITSTM за 1 день переведут вашу базу на надежную клиент-серверную архитектуру PostgreSQL (Linux/Windows), обеспечив отказоустойчивость, бэкапы и высокую скорость работы.
Частые вопросы (FAQ)
Почему при обновлении конфигурации вылезает сообщение 'Удалить активные сеансы'?
Конфигуратор требует 'Монопольный режим' (Exclusive Lock) для реструктуризации таблиц. Если кто-то сидит в базе (или висит сетевая сессия SMB), конфигуратор не может захватить файл 1Cv8.1CD на 100% и предлагает попытаться программно 'выгнать' пользователей.
Безопасно ли удалять файл 1Cv8.1CL?
Да, если вы на 100% уверены, что ни один реальный пользователь сейчас не работает в базе. Файл .1CL — это технический реестр блокировок. Если база закрыта аварийно (сбой питания), этот файл остается 'мусором', блокируя дальнейшую работу. 1С создаст его заново при первом удачном запуске.
Влияют ли регламентные задания на монопольный доступ?
Да. В файловых базах регламентные задания выполняются либо в специальном отдельном сеансе (скрытом), либо в сеансе первого зашедшего пользователя. Этот сеанс также удерживает блокировку. Перед обновлением базу нужно запустить с параметром запуска '/AllowExecuteScheduledJobs -Off'.
Что делать, если база опубликована на веб-сервере IIS?
При публикации файловой базы на веб-сервере, процесс пула приложений IIS (w3wp.exe) эксклюзивно захватывает файл 1Cv8.1CD. Вы не сможете обновить базу в конфигураторе, пока не остановите сайт (или Application Pool) в диспетчере IIS.