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

Содержание: 

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.  Зависшие фоновые задания разделенного доступа в клиент-серверном варианте работы

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

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

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

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

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

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

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

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

Содержание: 

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.  Зависшие фоновые задания разделенного доступа в клиент-серверном варианте работы

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

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

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

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

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

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

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

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

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

Я

  

Rustik666

08.12.11 — 12:14

При выгрузке ИБ пишет

«Ошибка разделенного доступа к информационной базе….»

И в качестве активного сеанса пишет мой же сеанс….

Сервис перезапускал.. в консоли никаких соединений больше не показывает…..че за хрень такая?…

Перегружать сервер пока нет возможности (это поможет?)…

  

Живой Ископаемый

1 — 08.12.11 — 12:18

это <b>может</b> помочь
сервер 32-битный?

  

tdm

2 — 08.12.11 — 12:18

(0) посомтреть в консоли сервера 1с блокировки ИБ

(клиент-серверная база ?)

  

tdm

3 — 08.12.11 — 12:20

>>Сервис перезапускал..

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

  

shuhard

4 — 08.12.11 — 12:20

(0) код ошибки 10054 ?

  

Rustik666

5 — 08.12.11 — 12:21

да 32битный

в блокировках только блокировки от конфигуратора…….

такое просто было уже давно….непомню как разрешилось…может сервер перегружал…..

  

Rustik666

6 — 08.12.11 — 12:25

shuhard, да нет никакого кода не пошет….

просто

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

Активные сеансы:

и тут пишет мой же сеанс…..

  

shuhard

7 — 08.12.11 — 12:25

(6) не верю

  

Rustik666

8 — 08.12.11 — 12:45

блин и перезагрузка сервера не помогла……черт…..ну ладно сделаю бэкап базы на sqlserverе…..непонятно че с этим делать?…..

  

Rustik666

9 — 30.12.11 — 11:04

подниму опять темку……так и не решил….. в чем может быть проблема….

даже перегружаю сервер, делаю новую базу, восстанавливаю из бэкапа……делаю выгрузить в конфигураторе и бац ошибка разделенного доступа к ИБ…..

  

shuhard

10 — 30.12.11 — 11:09

(9) ошибка на мисте описана сотни раз и не представляет ни какого интереса

  

Rustik666

11 — 30.12.11 — 11:17

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

именно такие случаю сотни раз разорбраны?….

  

shuhard

12 — 30.12.11 — 11:20

(11) воспользоваться поиском что-то не позволяет ?

  

Rustik666

13 — 30.12.11 — 11:27

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

  

shuhard

14 — 30.12.11 — 11:30

(13) сказки

  

Rustik666

15 — 30.12.11 — 11:32

вот нашел описание такого же случая…

http://sale1c.ru/1s-8-2-upp-posovetujte-ne-mozhem-vygruzit-bazu-tipovym-sposobom-cherez-konfigurator.html

то что там прочитал, так это «если создать базу средствами SQL, а не создать и залить типовыми методами 1С, то в дальнейшем происходит ошибка/проблема – база типовым методами 1С не выгружается»

я ее именно так и создал, а не загружал….

неужели теперь никогда не выгрузить?!?…

  

aleks-id

16 — 30.12.11 — 11:33

лезь в консоль скуля и ищи зависшую блокировку

  

Rustik666

17 — 30.12.11 — 11:35

да нету в консорле никаких соединений…..было б все так просто я б не писал …..

  

aleks-id

18 — 30.12.11 — 11:36

(17) в консоль СКУЛЯ а не 1с

  

shuhard

19 — 30.12.11 — 11:38

(18) не поможет
это ошибка не хватки памяти сервера 1С

и лечиться либо кастрацией конфигурации(обычно УПП) либо расширением памяти разными способами

  

aleks-id

20 — 30.12.11 — 11:40

(19) ну память можно расширить увеличив файл подкачки

  

shuhard

21 — 30.12.11 — 11:42

(20) не а, не помогает
либо /3Gb либо 64х

  

Rustik666

22 — 30.12.11 — 12:03

операционка 32 разрядная, на сервере 4 ГБ с расширением физических адресов…..но процесс больше 3 гб не захапает…..хотя в настоящий момент занято всего 1ГБ ….бэкап базы в районе 2 ГБ….

  

shuhard

23 — 30.12.11 — 12:05

(22) это ошибка не хватки памяти сервера 1С

и лечиться либо кастрацией конфигурации(обычно УПП) либо расширением памяти разными способами
либо /3Gb либо 64х

  

Rustik666

24 — 30.12.11 — 12:10

3G щас сделаю…..

интересно какого фига на SQLСервере 2 соединения…..запускаешь конфигуратор……в консоли сервера 1с одно подключение, а на скуле — 2 соединения….закрываешь конфигуратор….закрываются оба…..

  

Jaffar

25 — 30.12.11 — 12:22

(19), (23) «нехватки» пишется слитно! :-)

  

Rustik666

26 — 30.12.11 — 12:25

shuhard, да все спасибо помогло либо /3GB либо то, что почистил временные файлы…..свободного места на диске C на сервере 1с было мало…..интересно сколько ему надо свободного места на диске (размером с базу)….потому как занятой памяти сейчас всего 500 МБ….

  

shuhard

27 — 30.12.11 — 12:27

(26) а теперь пуcт поиск по форуиу на "/3GB"

и убедись, что проблема поднималась сто раз

и что через месяц /3GB уже не поможет и придётся конц кастрировать или увеличить RAM

  

Jaffar

28 — 30.12.11 — 12:36

(27) или опять удалять лишние файлы с системного раздела, чтоб своп поместился :-)

  

shuhard

29 — 30.12.11 — 12:36

(28) не в кассу

  

Rustik666

30 — 30.12.11 — 12:37

сервера все равно виртуальные под Hiper-V-Serverom…..

стояла статическая память 4 ГБ… я сделал динамическую с 4 до 8 ГБ…..но говорю же занято памяти немного…..похоже просто места на диске мало было для каких-то служеных файлов…..херово конечно если он ее вначале на диске сохраняет всю….

  

shuhard

31 — 30.12.11 — 12:38

  

Rustik666

32 — 30.12.11 — 12:39

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

  

vde69

33 — 30.12.11 — 12:40

(30) ну что за дебилизм ставить на виртуалки клиент серверные базы? нельзя так делать!!!

по любому будут всплывать трудно обьяснимые тормоза и блокировки…

  

shuhard

34 — 30.12.11 — 12:43

(33) к данной ошибке виртуалка отношения не имеет

  

vde69

35 — 30.12.11 — 12:46

имеет, данная ошибка возникла из-за полного не понимания как работает SQL.

А факт непонимания — отражается попыткой запустить скуль под виртуалкой

  

shuhard

36 — 30.12.11 — 12:47

(35) к сиквелу ошибка отношения не имеет, ни какого,

это ошибка сервера приложения

  

Rustik666

37 — 30.12.11 — 12:49

vde69, если руки не кривые то никаких тормозов не будет…..

зато нет привязки к железу..организован отказоустойчивый кластер пока из 3-х узлов….при отказе даже 2-х узлов….все будет работать…..а перебрасывать виртуалку с узла на узел можно даже при работающих пользователях….

но как сказано это не имеет отношения к теме…..

проблема в неправильной диагностике ошибки самой 1с….

  

Галахад

38 — 30.12.11 — 12:50

(33) Почему нельзя?

  

vde69

39 — 30.12.11 — 13:22

(38)

1. по тому что сервер SQL не понимает где действительно физическая память а где виртуальная память железа (фидимая как физическая)

2. сервера приложений (а к ним относятся и 1с) не могут оптимизировать дисковые операции, по сколько идет конкуренция между виртуалками.

в результате частенько кеш запросов помещается в медленую дисковую очередь….

(37)(36) может знаете чем вызвано v8: v8: проблема связки сервера 1с и SQL (продолжение)

так и не докапался пока

  

shuhard

40 — 30.12.11 — 13:31

(39) угу, всё так, виртуалки не идеальны
и могут создавать ошибки, не воспроизводимые в иных условиях


но к ошибке ТС это не относиться,

она воспроизводиться, например на УПП, легко и не принуждённо без виртуалок

  

Rustik666

41 — 30.12.11 — 13:36

vde69, может просто для решения 1 и 2 проблемы достаточно сделать так чтоб физической памяти было достаточно для всех….и не будет конкуренции за память и проблема в использовании виртуальной памяти….

  

Jaffar

42 — 30.12.11 — 13:56

(41) чтоб вся виртуалка, вместе с ОС и скулем, поместилась в ОЗУ? а нафига эта виртуализация? почему нормальную ОСь не поставить, если ресурсы позволяют?

  

Rustik666

43 — 30.12.11 — 14:32

выгода в отказоустойчивости…

если ставишь на обычную машину….то сколько тебе надо времени, чтоб поднять сервер….если что-нибудь по железу серъезно полетело…..ну пару часов при хорошем раскладе…

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

если в этот момент пинговать машину, то один пинг может пропасть масимум….

но это тема отдельной беседы…

  

Jaffar

44 — 30.12.11 — 14:35

«некоторые программы даже не заметят этого….. »

но некоторые пользователи заметят, если вместо запросов к ОЗУ скуль будет вращаться в свопе…

  

vde69

45 — 30.12.11 — 14:40

(43) 1с на 100% отвалится, по сколько трафик между клиен сервером шифруется сеансовыми ключами. По этому ты в любом случае не имеешь отказоустойчивый кластер!!!

При чем данная опция НЕ НАСТРАИВАЕМА и ее нельзя отключить, вроде как RSA там… (я разбирал попакетно трафик между клиент и сервером).

Тот-же кластер 1с — тоже сделан только для маштабируемости а не для отказоустойчивости…

  

Rustik666

46 — 05.01.12 — 11:40

vde69, не соглашусь…..

Зависит от того, что делает пользователь 1с в это время…

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

Для самой 1с по сути…..всего лишь пару секунд был недоступен сервер и все…

Но пару секунд отсутствие сервера это все равно не сравнимо с несколькими часами в лучшем случае (а то и полдня) в случае отказа железяки на обычной машине….

  

Jaffar

47 — 05.01.12 — 13:31

по теории вероятности — в большой компании хоть один из пользователей 1С в этот момент будет что-то делать, соответственно его сеанс отвалится (и чем больше компания — тем больше будет таких пользователей).

а в маленькой компании нет смысла заморачиваться с серверами, тем более — виртуальными.

  

ice777

48 — 05.01.12 — 13:54

(39) ты меня пугаешь. я именно в виртуалке и держу centos с базой postgre и терминалку под 2008. Пока полет нормальный.

  

Живой Ископаемый

49 — 05.01.12 — 14:14

2(48) он же не говорит про Постгресс…и про ДБ2 ничего не говорит, которая у меня тоже в виртуалке

  • Печать

Страницы: [1]   Вниз

Тема: Ошибка разделенного доступа к базе данных в Бухгалтерия Предприятия 8.1  (Прочитано 56240 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Спасибо, все получилось, база 1С запустилась  :) , действительно чтото на сервере было не то.
Т.к. администратора на работе уже небыло, позвонили ему и по телефону перезагрузили сервер и все заработало  :)


Записан


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

Попробуйте что-нибудь из этого:

  • Перезагрузить свой компьютер
  • Посмотреть на сервере кем может быть еще открыт файл: «1Cv8.1CD» и закрыть его
  • В крайнем случае, перезагрузка сервера точно должна помочь


Записан


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


Записан


У вас похоже ктото сидит в базе монопольно, зайдите в конфигураторАдминистрированиеактивные пользователи
Если там ктото есть, попросите их закрыть базу, потом попробуйте запустить 1С еще раз.


Записан


Помогите пожалуйста, перестала запускаться база Бухгалтерия Предприятия 8.1

Нажимаю «Перезапустить» — 1C закрывается.
Нажимаю «Подробно» — пишет тоже самое.
Нажимаю «Завершить работу» — 1C закрывается.

Что может быть с нашей базой?
В прикрепленном файле фото как выглядит эта ошибка.


Записан


  • Печать

Страницы: [1]   Вверх

1

2

Показывать по
10
20
40
сообщений

Новая тема

Ответить

alx_b

Дата регистрации: 28.04.2011
Сообщений: 1

Здравствуйте! Делаю Администрирование — Выгрузить информационную базу. Подвисает на несколько секунд и потом пишет «Ошибка разделенного доступа к информационной базе, активен сеанс» и показывает мой сеанс конфигуратора. В мониторе кроме конфигуратора ничего нет. Различные задания тоже не запущены. Платформа 8.2, последняя, база на сервере, MS SQL 2005. Не работает только эта база, остальные в порядке. Если пробовать с другого компьютера, все также. Как с этим бороться? Пробовал перезапускать службы SQL и 1C, не помогло.

Prikum

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

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20833

Сохраните средствами SQL, так будент надежнее.

BelikovS

Дата регистрации: 05.03.2007
Сообщений: 1701

> Сохраните средствами SQL, так будент надежнее.<br>Только для случая восстановления на SQL …

alx_b

Дата регистрации: 28.04.2011
Сообщений: 1

Хочу сделать копию в файловом режиме, т.е. этот вариант не подходит. Пробовал делать копию на SQL, а потом выгружать уже оттуда, та же ерунда.

Prikum

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

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20833

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

BelikovS

Дата регистрации: 05.03.2007
Сообщений: 1701

На копии пробовали сделать тестирование и исправление?<br>Попробуйте создать новый кластер, отключите в нем регламентированные и прочее, можно еще сделать несколько процессов. И попробуйте с него выгрузить.

alx_b

Дата регистрации: 28.04.2011
Сообщений: 1

Тестирование и в оригинале проходит без ошибок.

alx_b

Дата регистрации: 28.04.2011
Сообщений: 1

Имел в виду копию из файл-серверного в файловый.

Prikum

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

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20833

> Имел в виду копию из файл-серверного в файловый.<br>Это одно и тоже, а вот клиент-серверный это другое. Но в любом случае вам надо делать выгрузку в dt.

leska

Дата регистрации: 23.11.2007
Сообщений: 16

посмотрите список выполняемых задач с помощью обработки с диска итс : консоль заданий.

Оглавление

  • Суть проблемы
  • Общение с технической поддержкой 1с
  • Решение
    • Назначаем всем пользователям непустые пароли
    • Заставляем пользователей вводить пароль
    • Заставляем обновлятор контролировать сохранение установленной блокировки сеансов
  • Как помочь с исправлением ошибки

Суть проблемы

 Ошибка исправлена в тестовой 8.3.21.1140. 

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

Обновляется конфигурация базы данных.
ОбщаяКартинка.Информация: Имя не уникально!
Обновление конфигурации базы данных
Обработка структуры базы данных...
Ошибка исключительной блокировки информационной базы.
База данных заблокирована:
пользователь: ?, сеанс : 4, начат: 13.10.2021 в 0:40:29, приложение: ?

… выполнения обработчиков обновления:

Выполняются обработчики обновления.
Ошибка: ошибка разделенного доступа к базе данных, база данных заблокирована:, компьютер: ?,
пользователь: ?, сеанс: 61511, начат: ?, приложение: ?

… или тестирования, включающее пересчёт итогов.

Кроме ошибки исключительной блокировки тестирование, включающее пересчёт итогов,  может просто зависнуть , если в базу в этот момент зайдёт пользователь.

Почему это происходит, ведь обновлятор устанавливает блокировку сеансов и выгоняет всех пользователей перед началом операции? Каким образом новые пользователи попадают в базу по ходу выполнения операции?

Оказывается при определенных условиях ( а именно пересчёт итогов ) конфигуратор сам (несанкционированно) сбрасывает установленную блокировку сеансов (а заодно код разрешения) в клиент-серверной базе.

Я провёл расследование и выяснил, что это баг в платформе (уже веду переписку с технической поддержкой 1с). Проблема никак не связана с обновлятором и воспроизводится только при помощи конфигуратора.

Для того, чтобы конфигуратор несанкционированно сбросил установленную блокировку сеансов (и код разрешения) необходимо выполнение следующих условий:

  1. База является клиент-серверной.
  2. Платформа 1с любая версии 8.3.18, 8.3.19 или 8.3.20.
  3. В базе накоплены определённые изменения в конфигурации (например, выполнено обновление конфигурации Бухгалтерия Предприятие с версии 3.0.95.24 на 3.0.99.19) без последующего обновления конфигурации базы данных. Отдельно подчеркну, что проблема воспроизводится не на всех обновлениях конфигурации ( а только на тех, когда возникает пересчёт итогов ), именно поэтому я привёл пример конкретного обновления на котором проблема воспроизводится.

Если при выполнении этих 3 условий…

  1. Установить в базе блокировку сеансов и код разрешения.
  2. А затем выполнить операцию «Обновление конфигурации базы данных» (хоть вручную через конфигуратор, хоть через обновлятор), либо запустить тестирование и исправление конфигурации с пересчётом итогов (тогда пункт 3 из предыдущего абзаца не важен).

… мы обнаружим, что установленная блокировка сеансов и код разрешения были несанкционированно сброшены конфигуратором (это подтверждается технологическим журналом) по ходу выполнения операции «Обновление конфигурации базы данных» ( а вернее возникшего в процессе выполнения пересчёта итогов ) или тестирования, включающее пересчёт итогов.

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

Общение с технической поддержкой 1с

26.10.2021 Вся собранная информация (включающая детальное описание и быстрый способ воспроизведения ошибки) отправлена в техническую поддержку 1с на адрес v8@1c.ru, обращение зарегистрировано под номером HL-405298.

18.11.2021 Получил такой ответ от технической поддержки 1с:
«Ошибка платформы https://bugboard.v8.1c.ru/error/000114376
Исправлена в будущих версиях 8.3.21+»

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

 Ошибка исправлена в тестовой 8.3.21.1140. 

Решение

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

Назначаем всем пользователям непустые пароли

Потому что, если у пользователя пустой пароль, то становится возможен следующий сценарий:

  1. Пользователь с пустым паролем оставил базу открытой и ушёл домой.
  2. Ночью вы сами (вручную или через обновлятор) установили в базе блокировку сеансов (для её обслуживания) и дождались, когда всех пользователей (это функционал типовых) выбросит из базы.
  3. Да, пользователя выбросило, но на его рабочем месте появилось окно ожидания с попытками (каждую минуту) повторного подключения к базе.
  4. Попытки повторного входа будут неудачными, ведь в базе установлена блокировка сеансов.
  5. И тут конфигуратор по ходу выполнения операции «Обновление конфигурации базы данных» несанкционированно сбрасывает (то есть снимает) блокировку сеансов и тот самый диалог ожидания автоматически пускает пользователя обратно в базу! И операция обновления базы данных завершается ошибкой из-за исключительной блокировки.
  6. Так вот если бы у пользователя был непустой пароль — его бы в базу обратно автоматически не пустило.

Заставляем пользователей вводить пароль

Эту рекомендацию не всегда возможно выполнить целиком. Её смысл в том, что даже если у пользователя непустой пароль, но при этом…

  • он прописал его (пароль) в параметрах базы в стартере вот так
  • либо зашёл в базу через альтернативный стартер (в настройках которого уже прописаны логин и пароль для входа в базу), например, вот так

… пользователя также пустит обратно в базу автоматически (см. предыдущий сценарий, пункт 5).

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

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

Заставляем обновлятор контролировать сохранение установленной блокировки сеансов

Заходим в свойства клиент-серверной базы, закладка «Обновление», раздел «Сам процесс»:

Здесь включаем опцию «При обновлении конфигурации базы данных (на проблемных релизах платформы 1с) контролировать сохранение блокировки сеансов».

Внимание! Начиная с тестовой версии от 23 декабря обновлятор согласно этой же настройке осуществляет контроль за сохранением блокировки сеансов при операциях тестирования и исправления, включающей пересчёт итогов.

Кроме того, в скриптах у команды из меню «Обновлятор-Методы-Выполнение пакетного скрипта» появился дополнительный параметр keep_sessions_lock, установка которого в true позволит осуществить контроль за сохранением блокировки сеансов (при условии, что она включена в свойствах базы) при выполнении любой команды.

Например:

@run_cmd(
    script: "%run_1c_d% /UpdateDBCfg -Dynamic-",
    keep_sessions_lock: "true"
)
@run_cmd(
    script: "%run_1c_d% /IBCheckAndRepair -RecalcTotals -TestOnly",
    keep_sessions_lock: "true"
)

По умолчанию данная опция включена и имеет значение «Однократно после» ( рекомендую сразу сменить это значение на «непрерывно в процессе» ).

«Однократно после» означает, что обновлятор считывает состояние блокировки сеансов (а также код разрешения) перед обновлением конфигурации базы данных.

А затем (после окончания обновления конфигурации базы данных) восстанавливает блокировку сеансов (и код разрешения), если они были сброшены конфигуратором.

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

Если это не помогает — установите эту же опцию со значением «Непрерывно в процессе«:

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

Вот как это будет выглядеть в отчёте:

Как помочь с исправлением ошибки

 Ошибка исправлена в тестовой 8.3.21.1140. 

Друзья, я уже отписался выше, что ошибка зарегистрирована в 1С.

Теперь я прошу вас по возможности зайти на страницу с ошибкой и поставить отметку «Для меня исправление ошибки важно»:

Тем самым мы повысим вероятность исправления этой ошибки в одном из ближайших релизов платформы.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Внутренняя ошибка компоненты dbeng8

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

1-1

    Рисунок – 1.

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

1-2

    Рисунок – 2.

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

1-3

    Рисунок – 3.

1-4

    Рисунок – 4.

    И третий способ избавления от внутренней ошибки компоненты dbeng8 это использование файла chdbfl.exe. Так же предварительно необходимо сделать резервное копирование информационной базу. Он расположен в папке установленной программы. Обычно это примерно такой путь: C:Program Files (x86)1cv828.2.18.109binchdbfl.exe

1-5

    Рисунок – 5.

    Нужно запустить файл, указать путь к информационной базе и нажать «Выполнить».

1-6

    Рисунок – 6.

Ошибка несовместимости файлы базы данных

    Наверное, некоторые сталкивались с ошибкой при выполнении операции с информационной базой:
    Несовместимая версия файла базы данных: D:Путь к базе/1Cv8.1CD

2-1

    Рисунок – 1.

    Она возникает при запуске программы 1С после обновления конфигурации. Причиной ошибки является несовместимость версии релиза конфигурации с версией технологической платформы. То есть мы поставили обновление базы, которое не поддерживается, установленной на компьютере, устаревшей версией платформы. Решить такую проблему просто, установив дистрибутив последнего релиза платформы, который можно взять на диске ИТС или скачать с сайта обновлений 1С http://users.v8.1c.ru/ , где для конфигураций всегда указывается минимальная поддерживаемая версия платформы.

2-2

    Рисунок – 2.

Ошибка загрузки метаданных

    Такая ошибка обычно возникает при работе в версии программы 1С: Предприятие 7.7. Чаще всего это происходит, когда программу не устанавливают на компьютер, используя дистрибутив, а просто переносят папку с файлами уже инсталлированной программы с одного компьютера на другой. Причиной ошибки загрузки метаданных является невозможность открыть файл 1cv7.md по указанному пути. (подробнее…)

Ошибка блокировки данных

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

Ошибка СУБД «Не удалось зафиксировать таблицу для записи ‘SESSION’»

    Иногда бывает, что при попытке открыть какой-то документ перед пользователем появляется такая ошибка «Не удалось зафиксировать таблицу для записи ‘SESSION’». Данная ошибка является ошибкой системы управления базами данных. Первым делом попробуйте перезапустить программу. (подробнее…)

Ошибка формата потока

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

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

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

Конфликт блокировок при выполнении транзакции

    Бывает, что при записи или проведении документов возникает ошибка о конфликте блокировок при выполнении транзакций. В основном это случается при работе в файловой информационной базе. Наиболее частой причиной возникновения такой ситуации служит одновременное обращение нескольких пользователей к одним и тем же таблицам базы данных и низкая производительность программы 1С или СУБД. (подробнее…)

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

Я
   Rustik666

08.12.11 — 12:14

При выгрузке ИБ пишет

«Ошибка разделенного доступа к информационной базе….»

И в качестве активного сеанса пишет мой же сеанс….

Сервис перезапускал.. в консоли никаких соединений больше не показывает…..че за хрень такая?…

Перегружать сервер пока нет возможности (это поможет?)…

   Живой Ископаемый

1 — 08.12.11 — 12:18

это <b>может</b> помочь

сервер 32-битный?

   tdm

2 — 08.12.11 — 12:18

(0) посомтреть в консоли сервера 1с блокировки ИБ

(клиент-серверная база ?)

   tdm

3 — 08.12.11 — 12:20

>>Сервис перезапускал..

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

   shuhard

4 — 08.12.11 — 12:20

(0) код ошибки 10054 ?

   Rustik666

5 — 08.12.11 — 12:21

да 32битный

в блокировках только блокировки от конфигуратора…….

такое просто было уже давно….непомню как разрешилось…может сервер перегружал…..

   Rustik666

6 — 08.12.11 — 12:25

shuhard, да нет никакого кода не пошет….

просто

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

Активные сеансы:

и тут пишет мой же сеанс…..

   shuhard

7 — 08.12.11 — 12:25

(6) не верю

   Rustik666

8 — 08.12.11 — 12:45

блин и перезагрузка сервера не помогла……черт…..ну ладно сделаю бэкап базы на sqlserverе…..непонятно че с этим делать?…..

   Rustik666

9 — 30.12.11 — 11:04

подниму опять темку……так и не решил….. в чем может быть проблема….

даже перегружаю сервер, делаю новую базу, восстанавливаю из бэкапа……делаю выгрузить в конфигураторе и бац ошибка разделенного доступа к ИБ…..

   shuhard

10 — 30.12.11 — 11:09

(9) ошибка на мисте описана сотни раз и не представляет ни какого интереса

   Rustik666

11 — 30.12.11 — 11:17

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

именно такие случаю сотни раз разорбраны?….

   shuhard

12 — 30.12.11 — 11:20

(11) воспользоваться поиском что-то не позволяет ?

   Rustik666

13 — 30.12.11 — 11:27

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

   shuhard

14 — 30.12.11 — 11:30

(13) сказки

   Rustik666

15 — 30.12.11 — 11:32

вот нашел описание такого же случая…

http://sale1c.ru/1s-8-2-upp-posovetujte-ne-mozhem-vygruzit-bazu-tipovym-sposobom-cherez-konfigurator.html

то что там прочитал, так это «если создать базу средствами SQL, а не создать и залить типовыми методами 1С, то в дальнейшем происходит ошибка/проблема – база типовым методами 1С не выгружается»

я ее именно так и создал, а не загружал….

неужели теперь никогда не выгрузить?!?…

   aleks-id

16 — 30.12.11 — 11:33

лезь в консоль скуля и ищи зависшую блокировку

   Rustik666

17 — 30.12.11 — 11:35

да нету в консорле никаких соединений…..было б все так просто я б не писал …..

   aleks-id

18 — 30.12.11 — 11:36

(17) в консоль СКУЛЯ а не 1с

   shuhard

19 — 30.12.11 — 11:38

(18) не поможет

это ошибка не хватки памяти сервера 1С

и лечиться либо кастрацией конфигурации(обычно УПП) либо расширением памяти разными способами

   aleks-id

20 — 30.12.11 — 11:40

(19) ну память можно расширить увеличив файл подкачки

   shuhard

21 — 30.12.11 — 11:42

(20) не а, не помогает

либо /3Gb либо 64х

   Rustik666

22 — 30.12.11 — 12:03

операционка 32 разрядная, на сервере 4 ГБ с расширением физических адресов…..но процесс больше 3 гб не захапает…..хотя в настоящий момент занято всего 1ГБ ….бэкап базы в районе 2 ГБ….

   shuhard

23 — 30.12.11 — 12:05

(22) это ошибка не хватки памяти сервера 1С

и лечиться либо кастрацией конфигурации(обычно УПП) либо расширением памяти разными способами

либо /3Gb либо 64х

   Rustik666

24 — 30.12.11 — 12:10

3G щас сделаю…..

интересно какого фига на SQLСервере 2 соединения…..запускаешь конфигуратор……в консоли сервера 1с одно подключение, а на скуле — 2 соединения….закрываешь конфигуратор….закрываются оба…..

   Jaffar

25 — 30.12.11 — 12:22

(19), (23) «нехватки» пишется слитно! :-)

   Rustik666

26 — 30.12.11 — 12:25

shuhard, да все спасибо помогло либо /3GB либо то, что почистил временные файлы…..свободного места на диске C на сервере 1с было мало…..интересно сколько ему надо свободного места на диске (размером с базу)….потому как занятой памяти сейчас всего 500 МБ….

   shuhard

27 — 30.12.11 — 12:27

(26) а теперь пуcт поиск по форуиу на «/3GB»

и убедись, что проблема поднималась сто раз

и что через месяц /3GB уже не поможет и придётся конц кастрировать или увеличить RAM

   Jaffar

28 — 30.12.11 — 12:36

(27) или опять удалять лишние файлы с системного раздела, чтоб своп поместился :-)

   shuhard

29 — 30.12.11 — 12:36

(28) не в кассу

   Rustik666

30 — 30.12.11 — 12:37

сервера все равно виртуальные под Hiper-V-Serverom…..

стояла статическая память 4 ГБ… я сделал динамическую с 4 до 8 ГБ…..но говорю же занято памяти немного…..похоже просто места на диске мало было для каких-то служеных файлов…..херово конечно если он ее вначале на диске сохраняет всю….

   shuhard

31 — 30.12.11 — 12:38

(30) бред

топик закрыт

   Rustik666

32 — 30.12.11 — 12:39

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

   vde69

33 — 30.12.11 — 12:40

(30) ну что за дебилизм ставить на виртуалки клиент серверные базы? нельзя так делать!!!

по любому будут всплывать трудно обьяснимые тормоза и блокировки…

   shuhard

34 — 30.12.11 — 12:43

(33) к данной ошибке виртуалка отношения не имеет

   vde69

35 — 30.12.11 — 12:46

имеет, данная ошибка возникла из-за полного не понимания как работает SQL.

А факт непонимания — отражается попыткой запустить скуль под виртуалкой

   shuhard

36 — 30.12.11 — 12:47

(35) к сиквелу ошибка отношения не имеет, ни какого,

это ошибка сервера приложения

   Rustik666

37 — 30.12.11 — 12:49

vde69, если руки не кривые то никаких тормозов не будет…..

зато нет привязки к железу..организован отказоустойчивый кластер пока из 3-х узлов….при отказе даже 2-х узлов….все будет работать…..а перебрасывать виртуалку с узла на узел можно даже при работающих пользователях….

но как сказано это не имеет отношения к теме…..

проблема в неправильной диагностике ошибки самой 1с….

   Галахад

38 — 30.12.11 — 12:50

(33) Почему нельзя?

   vde69

39 — 30.12.11 — 13:22

(38)

1. по тому что сервер SQL не понимает где действительно физическая память а где виртуальная память железа (фидимая как физическая)

2. сервера приложений (а к ним относятся и 1с) не могут оптимизировать дисковые операции, по сколько идет конкуренция между виртуалками.

в результате частенько кеш запросов помещается в медленую дисковую очередь….

(37)(36) может знаете чем вызвано v8: v8: проблема связки сервера 1с и SQL (продолжение)

так и не докапался пока

   shuhard

40 — 30.12.11 — 13:31

(39) угу, всё так, виртуалки не идеальны

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

но к ошибке ТС это не относиться,

она воспроизводиться, например на УПП, легко и не принуждённо без виртуалок

   Rustik666

41 — 30.12.11 — 13:36

vde69, может просто для решения 1 и 2 проблемы достаточно сделать так чтоб физической памяти было достаточно для всех….и не будет конкуренции за память и проблема в использовании виртуальной памяти….

   Jaffar

42 — 30.12.11 — 13:56

(41) чтоб вся виртуалка, вместе с ОС и скулем, поместилась в ОЗУ? а нафига эта виртуализация? почему нормальную ОСь не поставить, если ресурсы позволяют?

   Rustik666

43 — 30.12.11 — 14:32

выгода в отказоустойчивости…

если ставишь на обычную машину….то сколько тебе надо времени, чтоб поднять сервер….если что-нибудь по железу серъезно полетело…..ну пару часов при хорошем раскладе…

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

если в этот момент пинговать машину, то один пинг может пропасть масимум….

но это тема отдельной беседы…

   Jaffar

44 — 30.12.11 — 14:35

«некоторые программы даже не заметят этого….. »

но некоторые пользователи заметят, если вместо запросов к ОЗУ скуль будет вращаться в свопе…

   vde69

45 — 30.12.11 — 14:40

(43) 1с на 100% отвалится, по сколько трафик между клиен сервером шифруется сеансовыми ключами. По этому ты в любом случае не имеешь отказоустойчивый кластер!!!

При чем данная опция НЕ НАСТРАИВАЕМА и ее нельзя отключить, вроде как RSA там… (я разбирал попакетно трафик между клиент и сервером).

Тот-же кластер 1с — тоже сделан только для маштабируемости а не для отказоустойчивости…

   Rustik666

46 — 05.01.12 — 11:40

vde69, не соглашусь…..

Зависит от того, что делает пользователь 1с в это время…

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

Для самой 1с по сути…..всего лишь пару секунд был недоступен сервер и все…

Но пару секунд отсутствие сервера это все равно не сравнимо с несколькими часами в лучшем случае (а то и полдня) в случае отказа железяки на обычной машине….

   Jaffar

47 — 05.01.12 — 13:31

по теории вероятности — в большой компании хоть один из пользователей 1С в этот момент будет что-то делать, соответственно его сеанс отвалится (и чем больше компания — тем больше будет таких пользователей).

а в маленькой компании нет смысла заморачиваться с серверами, тем более — виртуальными.

   ice777

48 — 05.01.12 — 13:54

(39) ты меня пугаешь. я именно в виртуалке и держу centos с базой postgre и терминалку под 2008. Пока полет нормальный.

  

Живой Ископаемый

49 — 05.01.12 — 14:14

2(48) он же не говорит про Постгресс…и про ДБ2 ничего не говорит, которая у меня тоже в виртуалке

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

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

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

Михаил Сайко

Сервис-инженер 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

2

Показывать по
10
20
40
сообщений

Новая тема

Ответить

alx_b

Дата регистрации: 28.04.2011
Сообщений: 1

Здравствуйте! Делаю Администрирование — Выгрузить информационную базу. Подвисает на несколько секунд и потом пишет «Ошибка разделенного доступа к информационной базе, активен сеанс» и показывает мой сеанс конфигуратора. В мониторе кроме конфигуратора ничего нет. Различные задания тоже не запущены. Платформа 8.2, последняя, база на сервере, MS SQL 2005. Не работает только эта база, остальные в порядке. Если пробовать с другого компьютера, все также. Как с этим бороться? Пробовал перезапускать службы SQL и 1C, не помогло.

Prikum

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

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20881

Сохраните средствами SQL, так будент надежнее.

BelikovS

Дата регистрации: 05.03.2007
Сообщений: 1701

> Сохраните средствами SQL, так будент надежнее.<br>Только для случая восстановления на SQL …

alx_b

Дата регистрации: 28.04.2011
Сообщений: 1

Хочу сделать копию в файловом режиме, т.е. этот вариант не подходит. Пробовал делать копию на SQL, а потом выгружать уже оттуда, та же ерунда.

Prikum

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

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20881

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

BelikovS

Дата регистрации: 05.03.2007
Сообщений: 1701

На копии пробовали сделать тестирование и исправление?<br>Попробуйте создать новый кластер, отключите в нем регламентированные и прочее, можно еще сделать несколько процессов. И попробуйте с него выгрузить.

alx_b

Дата регистрации: 28.04.2011
Сообщений: 1

Тестирование и в оригинале проходит без ошибок.

alx_b

Дата регистрации: 28.04.2011
Сообщений: 1

Имел в виду копию из файл-серверного в файловый.

Prikum

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

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20881

> Имел в виду копию из файл-серверного в файловый.<br>Это одно и тоже, а вот клиент-серверный это другое. Но в любом случае вам надо делать выгрузку в dt.

leska

Дата регистрации: 23.11.2007
Сообщений: 16

посмотрите список выполняемых задач с помощью обработки с диска итс : консоль заданий.

Читают тему:

Понравилась статья? Поделить с друзьями:
  • Ошибка ро172 опель астра j
  • Ошибка разделенного доступа к информационной базе активные сеансы
  • Ошибка разделения доступа к информационной базе
  • Ошибка ро172 на ваз 2114
  • Ошибка раздатки уаз патриот