РАБОТАЕМ ПО ВСЕЙ РОССИИ

Войти Регистрация
Корзина 0 позиций
на сумму 0 ₽

Ошибка разделения доступа к базе данных в 1С: причины и решение

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

Оглавление

  1. Когда появляется ошибка разделенного доступа
  2. Основные причины ошибки разделенного доступа
  3. Решение ошибки в файловом режиме работы
  4. Решение ошибки в клиент-серверном варианте
  5. Ошибка разделенного доступа при обновлении конфигурации
  6. Ошибка разделенного доступа при тестировании и исправлении базы
  7. Сравнение способов устранения ошибки
  8. Как предотвратить ошибку разделенного доступа
  9. Как включить блокировку подключений перед обновлением
  10. Ошибка разделенного доступа в конкретных конфигурациях
  11. Инструменты для диагностики и исправления ошибки
  12. Платформа, лицензии и сервисы ИТС
  13. Когда нужен специалист
  14. Часто задаваемые вопросы

Когда появляется ошибка разделенного доступа

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

Чаще всего ошибка возникает в следующих случаях:

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

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

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

Прежде чем что-то делать, нужно понять, почему база заблокирована. Причин несколько, и каждая требует своего подхода.

Активные пользователи в базе

Это самая очевидная причина. Кто-то из сотрудников остался в 1С и не завершил сеанс. Посмотреть список активных сеансов можно прямо в окне сообщения об ошибке - там отображаются подключения. Также список доступен в конфигураторе: Администрирование - Активные пользователи.

Пользователь запустил 1С, но не ввел пароль

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

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

Все сотрудники закрыли 1С, но ошибка разделенного доступа осталась. Это значит, что сеанс завис - процесс работы с базой данных не завершился корректно. Такое происходит после принудительного закрытия программы, потери соединения с сервером или сбоя компьютера.

Незавершенные фоновые задания

1С выполняет регламентных задач в фоновом режиме: формирует отчеты, обрабатывает очереди, обменивается данными. Если фоновое задание зависло и не завершилось, оно удерживает соединение с базой. Это частая причина в клиент-серверном варианте.

Незакрытый конфигуратор

Разработчик или администратор открыл конфигуратор, поработал и забыл его закрыть. Конфигуратор держит соединение с базой, и монопольный режим получить невозможно.

Решение ошибки в файловом режиме работы

Файловая база - это база, которая хранится в папке на компьютере или сетевом диске. Работает без сервера 1С, обычно используется в небольших компаниях.

Шаг 1. Проверить и завершить активные сеансы

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

Шаг 2. Завершить через диспетчер задач

Откройте Диспетчер задач Windows (Ctrl+Shift+Esc). Перейдите на вкладку Подробности. Найдите все процессы с именем 1cv8.exe и 1cv8c.exe. Завершите каждый из них принудительно.

Этот способ помогает устранить и «невидимые» сеансы - те, где пользователь открыл 1С, но не ввел пароль. Такой процесс есть в диспетчере задач, но в списке сеансов 1С его нет.

После завершения всех процессов попробуйте снова запустить обновление конфигурации или тестирование.

Шаг 3. Проверить файл блокировки 1Cv8tmp

В папке с базой данных иногда остается временный файл блокировки. Его имя содержит расширение .lck или похожее. Если 1С завершилась некорректно, этот файл мог не удалиться. Закройте все процессы 1С, затем удалите файл блокировки из папки с базой. После этого запустите 1С снова.

«Важно!» Не удаляйте сам файл базы данных (1Cv8.1CD). Удалять нужно только временные файлы блокировки.

Шаг 4. Перезагрузить компьютер

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

Решение ошибки в клиент-серверном варианте

Серверная база работает под управлением сервера 1С:Предприятия и СУБД (Microsoft SQL, PostgreSQL или другой). Используется в средних и крупных компаниях с большим количеством пользователей.

Завершить сеансы через консоль администрирования сервера

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

  1. Откройте Администрирование серверов 1С Предприятия (устанавливается вместе с сервером).
  2. Разверните дерево: Кластер - Информационные базы - найдите нужную базу.
  3. Перейдите в Сеансы - увидите список всех активных соединений.
  4. Выберите зависший сеанс и завершите его через правую кнопку мыши.

После удаления всех лишних сеансов монопольный режим становится доступным.

Завершить зависшие фоновые задания

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

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

Для завершения зависших заданий используют несколько подходов:

  • Завершение через консоль администрирования сервера.
  • Перезапуск агента сервера 1С (службы ragent). Это завершает все соединения разом.
  • Выполнение SQL-запроса к базе данных, который принудительно завершает соединения (для опытных администраторов).

«Важно!» Перезапуск агента сервера (службы ragent) прерывает работу всех пользователей. Делайте это только когда база данных не используется в рабочее время.

Перезапустить службу агента сервера 1С

Если зависших сеансов нет, а ошибка разделенного доступа все равно появляется - перезапустите службу агента сервера. Это аналог перезагрузки для серверного варианта.

  1. Откройте Управление компьютером - Службы.
  2. Найдите службу Агент сервера 1С:Предприятие 8.x.
  3. Нажмите правой кнопкой мыши - Перезапустить.

После перезапуска службы все зависшие соединения с базой данных завершаются автоматически.

Снять блокировки на уровне СУБД

Если блокировка установлена на уровне SQL-сервера, завершение сеансов 1С не поможет. В этом случае нужно снимать блокировку средствами самой СУБД.

Для Microsoft SQL Server используют запрос к системным представлениям - находят идентификаторы процессов (SPID), которые удерживают блокировку на таблицах информационной базы, и завершают их командой KILL. Эта процедура требует прав администратора СУБД и выполняется системным администратором или разработчиком.

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

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

Порядок действий перед обновлением:

  1. Предупредите всех пользователей о предстоящем техническом обслуживании и попросите выйти из 1С.
  2. Проверьте список активных пользователей в конфигураторе - он должен быть пуст.
  3. Убедитесь, что нет зависших фоновых задач.
  4. Создайте резервную копию базы данных перед обновлением.
  5. Только после этого запускайте обновление конфигурации.

Если после выхода всех пользователей список сеансов все равно не пустой - проверьте, не запущен ли еще один сеанс конфигуратора на другом компьютере.

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

Тестирование и исправление - плановая процедура обслуживания базы данных. Запускается через конфигуратор: Администрирование - Тестирование и исправление. Требует монопольного режима - то есть все пользователи должны выйти из 1С.

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

«Важно!» Всегда создавайте резервную копию базы данных перед запуском тестирования и исправления. Процедура изменяет структуру таблиц, и при неожиданном сбое данные могут быть повреждены.

Сравнение способов устранения ошибки

Причина

Файловый режим

Клиент-серверный режим

Активные пользователи

Администрирование - Активные пользователи, попросить выйти

Консоль сервера - принудительное завершение сеанса

Пользователь не ввел пароль

Диспетчер задач - завершить 1cv8.exe

Консоль сервера - раздел Соединения

Зависший сеанс

Диспетчер задач или перезагрузка ПК

Перезапуск службы агента сервера

Зависшее фоновое задание

Не актуально

Консоль сервера - Фоновые задания

Блокировка СУБД

Не актуально

SQL-запрос KILL от имени администратора СУБД

Файл блокировки .lck

Удалить из папки с базой

Не актуально


Как предотвратить ошибку разделенного доступа

Полностью исключить эту ситуацию невозможно, но снизить ее частоту - реально.

Несколько практических рекомендаций:

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

Как включить блокировку подключений перед обновлением

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

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

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

Ошибка разделенного доступа в конкретных конфигурациях

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

1С:Бухгалтерия предприятия

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

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

1С:ЗУП

В конфигурации ЗУП проблема нередко возникает при расчете зарплаты и формировании отчетов в ПФР. Расчет запускает обработку большого объема объектов базы данных и может зависнуть на середине. Тогда сеанс остается активным, хотя визуально программа уже закрыта.

Первым делом стоит проверить диспетчер задач - процессы 1cv8.exe. Если они есть, хотя все сотрудники вышли из системы - завершите их принудительно. После этого повторный запуск расчета, как правило, проходит без ошибок.

1С:ERP и крупные проекты

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

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

Инструменты для диагностики и исправления ошибки

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

Консоль кластера серверов 1С

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

SQL Server Management Studio (MS SSMS)

Если база работает на Microsoft SQL Server, этот инструмент дает полную картину блокировок на уровне СУБД. Программист или системный администратор может через него найти соединения, которые удерживают таблицы базы, и снять блокировку SQL-запросом. Использование этого способа требует прав администратора СУБД и базовых знаний SQL.

Технический журнал 1С

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

Встроенный поиск по сеансам 1С

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

Платформа, лицензии и сервисы ИТС

Ошибка разделенного доступа иногда связана не с зависшими сеансами, а с проблемами на уровне самой платформы или лицензирования.

Устаревшая версия платформы

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

Обновить платформу можно через портал its.1c.ru при наличии активной подписки ИТС. Без актуальной подписки доступ к новым версиям платформы закрыт - это одна из причин, почему лицензии и договор сопровождения важно продлевать заблаговременно.

Лицензирование и клиентские подключения

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

Посмотреть текущее использование лицензий можно в консоли администрирования сервера - раздел «Лицензии». Если все слоты заняты - часть соединений нужно освободить вручную или нарастить пул лицензий.

Интернет-поддержка и сервисы 1С

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

Отключить отправку статистических данных и интернет-поддержку можно через Администрирование - Интернет-поддержка и сервисы - снять соответствующие флаги. Это не влияет на основной функционал программы, но может устранить ложные фоновые соединения.

Когда нужен специалист

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

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

Блокировка происходит на уровне СУБД - в журнале регистрации написано о конфликтах на уровне SQL. Снять такую блокировку без знания MS SQL или PostgreSQL сложно. Неправильно выполненный запрос KILL может затронуть не тот процесс и привести к повреждению сохраненной информации.

База данных находится в неконсистентном состоянии - тестирование выявляет ошибки в таблицах объектов, но автоматическое исправление не помогает. В этом случае нужна ручная работа с базой данных средствами СУБД.

«Важно!» Если самостоятельные попытки устранить блокировку не дали результата за двух-трех часов - не продолжайте эксперименты. Каждое неудачное вмешательство увеличивает риск потери данных. Лучше передать задачу специалисту с профильным опытом работы с 1С и СУБД.

Часто задаваемые вопросы

Все пользователи вышли, но ошибка осталась. Почему? Скорее всего, остался зависший сеанс или незавершенное фоновое задание. В файловом режиме - проверьте диспетчер задач и завершите все процессы 1cv8.exe. В серверном - откройте консоль администрирования и проверьте раздел «Сеансы» и «Фоновые задания».

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

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

Помогает ли перезагрузка компьютера или сервера? Да, и это надежный способ. Перезагрузка завершает все зависшие процессы и соединения. Минус один - пользователи, работающие в это время, потеряют несохраненные данные. Используйте перезагрузку, когда другие способы не помогли.

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

Не получаетсяисправить ошибку?

Если разобраться с ошибкой разделенного доступа самостоятельно не получается - специалисты СА1С быстро проведут диагностику и восстановят работу базы данных.