Modber Сообщество
профессионалов по 1С

Отказ в предоставлении монопольного доступа к информационной базе



Платформы: 1С:Предприятие 8.3, 1С:Предприятие 8.2
Конфигурации: Все конфигурации
2014-07-05
4707 
Lunz
0  
Не всегда доступ к распределенным ресурсам на удаленном компьютере заканчивается так, как это должно быть согласно штатному режиму. В первую очередь это относится к файлам данных размещенных на жестком диске удаленного сервера. Иногда проблема возникает по вине самой программы, пытающейся монополизировать ресурс, иногда в этом повинно ПО сторонних разработчиков.

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

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

Посмотреть список активных сеансов можно через меню Сервис –> Активные пользователи. Если этот список пуст, то можно спокойно переходить в конфигуратор и начинать выполнять обновление. Однако и в этом случае 1С может отказать в предоставлении монопольного доступа к своим базам данных. Это сопровождается следующей ошибкой:

«Ошибка исключительной блокировки информационной базы».

В чем причина такого поведения системы? В случае файл-серверной конфигурации это может быть вызвано зависанием одного из пользовательских процессов. Пользователь закрыл окно программы, а серверный процесс так и остался в памяти. В большинстве случаев его можно обнаружить в диспетчере задач сервера (Ctrl+Alt+Del). Таблетка от болезни выглядит следующим образом:

1. Открываем диспетчер задач.
2. «Убиваем» все паразитные процессы 1С.
3. Переходим в Конфигуратор и пробуем получить монопольный доступ.

Если это не помогает, просто перезагружаем сервер физически.

В похожей проблеме для клиент-серверной версии, как правило, повинен MSSQL, хорошо известный своими повисшими блокировками.

Решение напоминает предыдущее, только уничтожаются не процессы ОС, а процессы SQL-сервера. Делается это системным администратором с помощью клиентского ПО сервера, поставляемого MS или сторонними разработчиками. Если физическая перезагрузка сервера не повредит работе пользователей, то она и в данном случае является самым простым выходом из положения.             



В центре внимания

Комментарии (1)