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

Содержание: 

1.         Варианты возникновения ошибки разделенного доступа

2.        Файловый режим работы: способы решения ошибки разделенного доступа

3.        Пути решения ошибки разделенного доступа в клиент-серверном варианте работы

4.        Зависшие фоновые задания разделенного доступа в клиент-серверном варианте 

1.  Варианты возникновения ошибки разделенного доступа

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

Пользователи подключены к 1С

Для начала стоит проверить активные сеансы пользователей 1С. Количество активных пользователей можно посмотреть в конфигураторе: зайти в панель управления Администрирование, выбрать кнопку «Активные пользователи». И попросить их выйти из 1С. Помимо этого, информацию об активных сеансах можно увидеть в окне ошибки, но при большом количестве активных пользователей, информация будет не о всех активных сеансах.

У пользователя запущена 1С, но не введен пароль

Файловая база данных обычно содержит в себе подобную ошибку. Для решения данной проблемы следует запустить диспетчер задач, найти подобные процессы и, с его помощью, принудительно их завершить. Так как пользователь для работы с БД не авторизован, этот сеанс не отображается в списке активных пользователей, но соединение с базой при этом уже установлена. Следовательно, информационное сообщение так же, не будет нам полезно.

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

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

2.  Файловый режим работы: способы решения ошибки разделенного доступа

— С помощью Диспетчера задач.

После завершения активных сеансов в файловом режиме работы, не сохраненная информация пользователей будет утеряна. Завершить сеансы этим способом можно вызвав диспетчер задач (диспетчер задач можно вызвать комбинацией клавиш Ctrl+Alt+Delete), выбрать нужные процессы(1Сv8.exe или 1Сv8c.exe), после этого нажать кнопку снять задачу.

— Перезагрузка сервера, на котором установлена 1С.  

3.  Пути решения ошибки разделенного доступа в клиент-серверном варианте работы

Завершить активные сеансы поможет консоль администрирования сервера, находим в ней нужную нам базу и заходим в меню «Сеансы».

Выделяем мешающие нам сеансы и завершаем их через пункт контекстного меню «Удалить» или соответствующую кнопку на панели.

— Если не удалось удалить сеансы, используя консоль, то пробуем перезапустить службу Агент сервера 1С Предприятия 8.3.

— Если не получается удалить соединение, можно попробовать это сделать средствами в 1С СУБД. К примеру, в MS SQL для 1С, можно открыть Management studio и написать запрос к нужной базе с использованием метода kill <ID>, где ID – номер соединения с СУБД, который так же можно увидеть в консоли администрирования.

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

4.  Зависшие фоновые задания разделенного доступа в клиент-серверном варианте работы

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

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

Попробовать завершить эти сеансы можно следующими методами:

— Завершить сеанс и обновить список активных соединений, для проверки, не запускаются ли они заново.

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

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

Специалист компании «Кодерлайн»

Марк Романенков

Фоновое задание не дает обновится

Я
   aleks100

30.11.19 — 16:12

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

Обратитесь к системному администратору.

Подробности ошибки:

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

База данных заблокирована:

компьютер: DESKTOP-MH30GLI, сеанс: 12, начат: 30.11.2019 в 21:01:30, приложение: Фоновое задание

конфигурация рарус комплексный учет питания

Что это может быть?

   ДенисЧ

1 — 30.11.19 — 16:14

Не отрубил задание какое-то.

Консоль заданий что говорит?

   vde69

2 — 30.11.19 — 16:22

надо смотреть консоль сервера, вероятно это какое-то регламентное задание…

бывали случаи когда в такой ситуации помогала блокировка рег заданий в консоли сервера (на время обновления)

   Провинциальный 1сник

3 — 30.11.19 — 16:22

Да, а кстати — как правильно обновиться, если в базу пользователи лезут как мухи на мёд? Отключить вход не вариант — тогда и администратор не зайдет первым запуском для выполнения процедур обработки данных при обновлении. А иначе — процедура обновления натыкается на ошибку невозможности установки монопольного режима. Только хакерство на ум приходит с правилами брандмауэра, временно тупо блокировать трафик сервера 1с от всех, кроме администратора 1с.

   aleks100

4 — 30.11.19 — 16:34

конфигурация в файловом варианте

   aleks100

5 — 30.11.19 — 16:36

(1) первый запуск после обновления

   aleks100

6 — 30.11.19 — 16:42

выполняется задание слияние индекса Слияние индекса полнотекстового поиска доступа

   aleks100

7 — 30.11.19 — 16:43

как узнать какое именно фоновое задание блокировало?

   ДенисЧ

8 — 30.11.19 — 17:13

(7) см (6)

   aleks100

9 — 30.11.19 — 17:55

(8) закончил это задание, посмотрел  в обработке регламентных заданий и потом только обновилось нормально

   aleks100

10 — 30.11.19 — 17:55

это задание видимо блокировало

   rphosts

11 — 30.11.19 — 18:54

(3) вариант 1: зашёл, заблокирвоал другим вход, снёс пассажиров из консоли.

варант 2: заблокировал с кодом разблокировки, зашёл с кодом разблокировки, снёс пассажиров из консоли

   Провинциальный 1сник

12 — 30.11.19 — 18:58

(11) Если заблокировать начало сеансов — то фоновое задание обновления ИБ не запустится. Пробовал.

   rphosts

13 — 30.11.19 — 19:08

(12) впихуй в код процедуры ПриНачалеСеанса или как там его… ну например если это не BackGround и время входа ну пусть 22:00 — 04:00 — Отказ = Истина.

   Провинциальный 1сник

14 — 30.11.19 — 19:13

(13) Не, ну это уж слишком. Речь о типовом обновлении типовой конфигурации. Как-то не продумано это.

   rphosts

15 — 30.11.19 — 19:15

(14) вы не вкурили расширения?

   Провинциальный 1сник

16 — 30.11.19 — 19:18

(15) То есть, чтобы установить штатное обновление, нужно предварительно расширение писать с костылями?

   Провинциальный 1сник

17 — 30.11.19 — 19:22

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

   rphosts

18 — 30.11.19 — 19:24

(16) в типовых есть ограничение на время работы пользователей?

   Aleksey

19 — 30.11.19 — 19:39

(18) Так вроде бы речь не о пользователях. Их выкинуть можно.

А о фоновых заданиях. Например заходишь обновиться а там индекс ППД висит.

Т.е. две проблемы.

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

2. Обновление ИБ реализовано через фоновое задание, т.е. если даже заблокируешь фоновые задачи, автоматом блокируется процедуры из обновления.

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

  

Aleksey

20 — 30.11.19 — 19:41

(7) консоль заданий, там можно посмотреть какое задание выполняется в данный момент. В типовых эта та обработка в которой список регламентных задач и на второй вкладки там формируются отчеты по фоновым, в т.ч. по тем кто сейчас выполняется

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

  1. Возможно дело в фоновом процессе. Следует попробовать выгнать всех пользователей из базы с помощью блокировки. Можно сделать батник с командой net session /delete /y
  2. Может помочь перезагрузка сервера с базой. Либо последовательное выполнение команд (опять же батником) net stop "1C:Enterprise 8.2 Server Agent" для остановки сервера и net start "1C:Enterprise 8.2 Server Agent" для запуска.
  3. Также возможно дело в доступе. Выделить папку с базой =>все пользователи => разрешить изменения. ошибка разделения доступа
  4. Вполне вероятно что ваша база опубликована в 1С Линк. В этом случае следует отключить публикацию и попробовать повторить манипуляции, все получится.

Еще один способ устранения подобной ошибки описан в предыдущей статье


[Всего голосов: 0    Средний: 0/5]

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

  • Главная   /  Разное   /  
  • Ошибка разделенного доступа

Автор статьи:

Михаил Сайко

Сервис-инженер 1С Получить консультацию Актуальность статьи проверена:
09.01.2019

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

Исправление ошибки SDBL в 1С

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

  • Ошибка при полнотекстовом индексировании;
  • Попытка вставки значения недопустимого типа;
  • Поле таблицы не может принимать значение NULL;
  • Ожидается выражение (pos = );
  • Пропущена точка с запятой;
  • Выход за пределы размерности;
  • Поле определено неоднозначно.

Также эта ошибка может сопровождаться и другими информационными сообщениями. Чтобы решить эту проблему, администраторы 1С для начала применяют достаточно простые решения:

  1. Очистка КЭШа на сервере и компьютере пользователя, где появилась ошибка. Необходимо выйти из 1С, найти все папки с названиями типа «bd5c8ea4-b65f-4c23-a9c8-2dccfb0b15fa» в папке «Application Data» и удалить их;
  2. Перезагрузка сервера приложений 1С. Также может помочь включение и выключение всех связанных сервисов – SQL и его агента. Заходим на сервер, находим службу «Агент сервера 1С» и останавливаем ее с помощью контекстного меню. Аналогично поступаем со службами «SQL Server» и «Агент SQL Сервера» на сервере SQL. Затем включаем в обратной последовательности;
  3. Механизм «Тестирование и исправление ИБ», доступный в конфигураторе. В нужной информационной базе заходим в «Администрирование» — «Тестирование и исправление…» и запускаем процесс;
  4. Выгрузка базы данных в файл формата DT и загрузка его обратно в ту же информационную базу. Также выполняется в режиме конфигуратора через меню «Администрирование». Используются команды «Выгрузить информационную базу…» и «Загрузить информационную базу…»;
  5. Загрузка из резервной копии, если она сделана недавно. Резервные копии необходимо делать регулярно и дополнительно перед каждым серьезным действием с информационной базой. Резервные копии можно делать с помощью SQL MS или конфигуратора через выгрузку файла формата dt;
  6. Обновление платформы до более новой версии с официального портала ИТС. Необходимо скачать с сайта ИТС последний релиз платформы и установить на сервере и клиентских компьютерах.

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


Заметки по 1С и примеры кода

С инфостарта:

Платформа 8.3.11.2867. Словил два глюка:
1. При попытке захода в конфигуратор, если в базе работают пользователи, пишет «ошибка разделенного доступа» и не дает зайти.2. В одной базе при попытке входа пишет:
Платформа: 1С:Предприятие 8.3 (8.3.11.2867)

Ошибки:

27.11.2017 10:51:52
Тип не определен ‘3601c7ba-a8f9-4d04-b9e9-0e2f0b06e368’
и не дает зайти.
Заход с ключем /С ЗапуститьОбновлениеИнформационнойБазы — не помогает.
Тестирование и исправление со всеми галками — не помогает.

+ В итоге проблема 1 проявлялась только в тех базах где есть толстый клиент обычное приложение, решилась так:
 1. Всех выгнать из базы.
 2. Зайти в конфигуратор.
 3. Запустить толстого клиента обычное приложение в режиме отладки
 4. Все закрыть - проблема решенаПроблема 2 решилась чисткой серверного кэша.

  • 1с ошибка программирования реквизита 1228 неверный формат команды
  • 1с ошибка применения расширения конфигурации как найти
  • 1с ошибка привязки программной лицензии к компьютеру после получения лицензии удалены
  • 1с ошибка при формировании данных подписи 0x8010006c
  • 1с ошибка при формирование эд неверное указание маркированной продукции