Ошибка sdbl открытых транзакций нет 1с

   MadHead

12.09.12 — 14:40

Платформа 8.2.15.319, СУБД MS SQL 2008. Пользователей ~110. Происходит эпизодически, причем может не проявляться 2 недели, затем выбрасывает одного пользователя и часто начинает выбрасывать случайных пользователей, помогает перезагрузка серверов.

Куда копать?

   МихаилМ

1 — 12.09.12 — 14:42

что говорит

технологический журнал?

   MadHead

2 — 12.09.12 — 14:44

(1) не запускал. Какое событие нужно отлавливать?

   Coldboy

3 — 12.09.12 — 14:47

(0) мб не в тему, а журнал событий, связанный с СУБД сервером или 1С, не пробывали смотреть?

   MadHead

4 — 12.09.12 — 14:48

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

   Coldboy

5 — 12.09.12 — 14:56

(4) я вам скажу быть не может, у меня если пользователя китдает, то у СУБД есть ошибка. там вообще даже, если ошибка транзакции есть, и то должно быть Предупреждение событие у СУБД. у меня iBM DB-2 Express.

не верь админам, мой вообще мне такие вещи втирал, неделю на файловой работали, вместе СУБД, узнал, когда решил зайти в 1С, увидел путь …

   МихаилМ

6 — 12.09.12 — 14:57

(2)

событие — исключение

учитывая Вашу тему v8: Оценка загруженности дисковой подсистемы на SQL сервере

какой протокол соединения сервера 1с и субд ?

если named pips —  то поменяте на shared memory или TCP .

   Coldboy

7 — 12.09.12 — 15:02

(6) 1С сервер вроде TCPIP протокол сам пробрасывает по умолчанию …

   МихаилМ

8 — 12.09.12 — 15:11

(7)

неоднократно встречал  ситуации

что 1с8 соединялась с ms sql server

по протоколу

named pips

кто был инициатором 1с или ole db клиент — не знаю.

по поводу «вроде» желательно ссылочку.

   MadHead

9 — 12.09.12 — 15:27

(6) запустил журнал. Буду ждать ошибку

   Coldboy

10 — 12.09.12 — 15:29

(9) открой в 1С сервере, центральный сервер — свойства. протокол у тебя там какой?

   krbIso

11 — 12.09.12 — 15:33

клиенты к серверу обращаются только по tcp, нечего там смотреть. А вот сервер может обращаться к СУБД по named pipes или tcp, по named pipes может обращатся если сервер 1с и субд расположенны на одной машине.

   MadHead

12 — 12.09.12 — 15:38

(11) На разных машинах сервер 1с и сервер СУБД

   MadHead

13 — 12.09.12 — 16:25

06:31.5890-0,EXCP,0,process=rphost,ClientID=121,Exception=NetDataExchangeException,Descr=Ping time out expired on connection

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

   МихаилМ

14 — 12.09.12 — 16:34

   MadHead

15 — 12.09.12 — 17:14

(14) Почитал. Но у нас нету антивируса не на машине с сервером 1с, не на машине с СУБД

   krbIso

16 — 12.09.12 — 17:27

явная проблема с сеткой

   MadHead

17 — 12.09.12 — 18:11

(14)(16) Подскажите как понять в каком звене СУБД — сервер 1с  был разрыв соединения?

   MadHead

18 — 12.09.12 — 18:12

гипотетически подозреваю, что между сервером 1с и СУБД так как не указан пользователь.

   МихаилМ

19 — 12.09.12 — 18:26

либо проблема с сетью

либо стоит ограничение на кол-во одновременных подключений

причем это может быть как на уровне  так и на уровне ms sql

на уровне тср/udp как правило при сбое оборудования и аттаках.

на уровне ms sql — когда происходит преподключение (по-моему раз в час или в 2)

к субд, происходит долгое завершение сеанса (тоже до 2 часов)

например в developer версии по умолчанию доступно 5 подключений

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

   MadHead

20 — 19.09.12 — 12:40

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

Ошибка SDBL:Открытых транзакций нет

Ошибка SDBL:Соединение с базой данных не удерживается. Отпустить контекст соединения невозможно.

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

Платформа 8.2.15.319. Толстый клиент обычное приложение

   MadHead

21 — 19.09.12 — 13:10

Еще в забыл добавить что есть АРМ в которые заходят через web клиенты

   МихаилМ

22 — 19.09.12 — 13:21

   MadHead

23 — 20.09.12 — 10:34

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

Завтра попробую поставить 8.2.16.362

   gimmy

24 — 27.09.12 — 09:42

(23) ну как на 16 платформе проблема осталась?

   MadHead

25 — 27.09.12 — 10:10

(24) На 16 была ошибка sdbl, но не такая массовая. Еще на 15 заметил, что в технологическом журнале есть сообщения о дедлоках, сейчас работаю над устранением. Несколько рабочих процессов еще не пробовал включать.

   kolil

26 — 24.10.12 — 17:49

Возможно, на все дело в «старом» локальном кэше

Попробуйте очистить локальный кэш пользователя.

Детали здесь: http://j008.ru/ps/024_Err_SDBL

   МуМу

27 — 24.10.12 — 18:21

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

   MadHead

28 — 24.10.12 — 18:27

(27) Да что только не запускали. И ТиИ делали и технологический журнал смотрели. Кроме дедлоков нечего незаконного не нарыл. Решили проблему запустив 4 rphost и 1 из них 1 резервный.

   МуМу

29 — 24.10.12 — 18:57

(28) Уверены что решили:)? Подождите еще недельку.

   МуМу

30 — 24.10.12 — 18:58

Если будут проблемы — пишите, есть методики.

   MadHead

31 — 24.10.12 — 19:37

(30) Да уже недели 2-3 прошло. Я не уверен что рпхост не падает, но если он и падает, то коннекты подхватывает резервный. Так о каких вы методиках говорите? Расскажите проверю

   vde69

32 — 24.10.12 — 19:57

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

мне помогло http://kb.mista.ru/2/doku.php?id=it:set_dual_net

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

33 — 24.10.12 — 20:23

2(5) Оно у вас есть потому что до такой подробности настроен лог  инстанса ДБ2

   МуМу

34 — 24.10.12 — 20:57

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

  

MadHead

35 — 25.10.12 — 10:43

(34) Рестартуем rphost средствами 1с, когда он разрастается больше 800мб. Рестартуем службу агента 1с раз в неделю.

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

Из программных проблем есть только дедлоки примерно 15-20 раз в день. Могут ли они послужить причиной падения rphost?

helena
05.05.2011 10:14 Прочитано: 9419

1С:Предприятие 8.2 (8.2.13.219), конфигурация: «Учет Договоров», редакция 1.4
«Управление производственным предприятием», редакция 1.2 (1.2.36.1)

Может кто встречался со следующей проблемой:

при выполнении обработки вылетает окно с сообшением:
«Ошибка SDBL: Открытых транзакций нет pos(157)».
Завершить работу или Перезапустить

При повторении обработки ошибка появляется на разных этапах выполнения.

С чем может быть связана эта ошибка? Как её устранить?

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
05.05.2011 10:35 Ответ № 1

(0) helena, Конфигуратор — Тестирование и Исправление

helena
05.05.2011 10:49 Ответ № 2

Спасибо. Попробуем…

helena
11.05.2011 10:27 Ответ № 3

Вопрос закрыт!

Подсказка:Вы можете добавить любую страничку в Социальные закладки щелкнув по значку соцсетей (в вверху)

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


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

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



Как она проявляется?


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

  1. Ошибка при полнотекстовом индексировании;

  2. Недопустимый тип вставки значения;

  3. Табличные поля не принимают значение NULL;

  4. Происходит пропуск точки с запятой;

  5. Вышли за пределы размерности;

  6. Поле определено неоднозначно.

SDBL Выход за пределы размерности результата.JPG




Это лишь небольшой перечень сообщений, которые отображаются при возникновении рассматриваемой проблемы.


Как исправить ошибку SDBL в программах 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. 

Отзывы о компании

  • Сивелькина С. В.

    ПАО «НИКО-БАНК» выражает свою благодарность за оперативную и грамотную работу.
    В условиях постоянно меняющегося законодательства Банк заинтересован иметь полную и актуальную номативную базу. Это обеспечивается использованием Банком справочно-нормативной системы «Гарант». 

    Безусловным плюсом в работе компании «МастерСофт» является быстрое реагирование сотрудников при предоставлении документов по запросу Банка, принятых до обновления справочно-правовой системы.

  • Мордвинцев С. П.

    Коллектив компании «АЭРОПОРТ ОРЕНБУРГ» выражает благодарность за взаимовыгодное сотрудничество с МастерСофт-ИТ. Оперативная поставка антивирусных программ Dr. Web обеспечила надежную защиту нашей компьтерной сети.

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

  • Ряховская Н. А.

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

  • Кетерер Т. М.

    Главный бухгалтер муниципального бюджетного учреждения дополнительного образования «Дворец творчества детей и молодёжи» Кетерер Татьяна Михайловна выражает благодарность специалистам МастерСофт:
    «Я хотела бы объявить благодарность вашим сотрудникам. Работает с нами по программе «1С: Бухгалтерия бюджетного учреждения 8» непосредственно Шевлягина Юлия.

    Так же огромная благодарность за отзывчивость, терпение и квалифицированную, своевременную помощь Набокиной Олесе и Ерёменко Татьяне (они нас сопровождают по программе «Зарплата и Кадры»).


    Им очень с нами тяжело, но они терпеливо продолжают сотрудничать. С вами очень надёжно. Конечно же наши ошибки есть и без вас мы бы вообще о них не знали и в суде, наверное, судились бы. А сейчас мы решаем вопросы…».

Содержание:

1.       Возникновение ошибки SDBL

2.       Устранение ошибки SDBL в 1С

Приветствую, коллеги! В данной статье будет рассмотрена знакомая и набившая оскомину многим специалистам 1С ошибка SDBL, а также возможные пути её устранения.  

1.    Возникновение ошибки SDBL

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

Рис. 1 Сообщения 1С об ошибке SDBL

Также к данным сообщениям часто есть одна или несколько приписок:

·        была совершена попытка вставить значение с недопустимым типом;

·        был совершён пропуск точки с запятой;

·      имеет место ошибка, которая произошла при индексировании с полным текстом;

·        некоторое поле имеет неоднозначное определение;

·        не хватает выражения (pos =);

·        совершён выход из размерностей;

·        в поле таблицы используется невозможный тип значения «NULL».

Обратите внимание: есть вероятность, что при ошибке будут другие сообщения, не указанные выше!  

2.    Устранение ошибки SDBL в 1С

Устранить ошибку SDBL можно одним из способов, которые описаны ниже.

1. Сделать перезагрузку на сервере с приложениями для 1С 8.3. Далее может помочь, если включить и выключить все сервисы SQL и агентами SQL. Для этого потребуется зайти на сервер, выбрать «Агент сервера 1С» и при помощи контекстного меню приостановить работу. По аналогии сделаем с «Агентом SQL» и «SQL Server» для сервера SQL. Затем следует снова подключить их, но в обратной последовательности.

2. Выгрузить базу с данными в некоторый файл, который будет иметь расширение DT, а затем выгрузить её назад – в ту же базу с информацией. Аналогично будет исполняться для режима конфигуратора при помощи вкладки меню «Администрирование» – посредством использования команд «Загрузить информационную базу…» и «Выгрузить информационную базу…».

3. Можно попробовать очистить КЭШ внутри сервера и внутри компьютера пользователя в месте, где была обнаружена ошибка. Для этого потребуется закрыть 1С, далее совершить поиск по папкам, которые будут иметь имя вида «bd5c8ea4-b65f-4c23-a9c8-2dccfb0b15fa» внутри папки с названием «Application Data», после их нахождения производим удаления данных папок.

4. Также можно обновить платформу на более современную версию (с главного портала – ИТС). Для выполнения данного действия скачиваем с ИТС новую платформу 1С 8.3 и устанавливаем ее на компьютерах клиентов и на сервере.

5. Рассмотрим еще один вариант – использование механизма «Тестирование и исправление информационных баз», который находится внутри конфигуратора. В необходимой базе переходим по пути: «Администрирование → Тестирование и исправление информационных баз», а далее запускаем процесс.

6. Совершим загрузку внутри копии, которая является резервной, если она была создана в недавнем времени. Замечание: обязательно часто делать резервные копии до любого важного действия с ИБ. Копии делаются посредством SQL MS или конфигуратора, при этом происходит выгрузка файла в формат dt.

Если ни один из вышеперечисленных способов не устранил ошибку SDBL, следует произвести очистку таблиц _ConfigChngR_ExtProps и _ConfigChngR. Однако для этого потребуется знания принципов работы MSSQL.

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

Айдар Фархутдинов

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

Окно с данной ошибкой 1С имеет дополнительное содержание. Типичные сообщения:

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

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

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

Перезагрузка сервера 1С и SQL-сервера

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

Зайдите на сервер и выключите следующие службы:

  • «Агент сервера 1С»,
  • «SQL Server»,
  • «Агент SQL Сервера».

А затем запустите их обратно.

Очистка кэша на сервере и клиента, где проявилась ошибка

В некоторых случаях исправить ошибку SDBL можно с помощью очистки кэша сервера 1С.

Как правило кэш расположен по адресу:

  • «%userprofile%Local SettingsApplication Data1C1Cv8» и «%userprofile%Application Data1C1Cv8» для Windows XP,
  • «%userprofile%AppDataRoaming1C1Cv8» и «%userprofile%AppDataLocal1C1Cv8» для Windows 7 и выше.

Перейдите в данный каталог и удалить все папки с генерированными именами вида « dg7c8re4-b89r…». При удалении будьте внимательны — в этой директории может присутствовать индекс полнотекстового поиска 1С, а также журналы регистрации, их удалять не нужно.

Перезаливка базы из DT-файла

Иногда помогает, казалось бы, парадоксальный способ — выгрузка базы данных в файл формата DT, а затем загрузка его обратно.

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

Затем через аналогично через меню «Администрирование» > «Загрузить информационную базу» загрузите его обратно.

Тестирование и исправление Информационной базы

Для тестирование и исправление Информационной базы: войдите в «Конфигуратор», выберите пункт меню «Администрирование» > «Тестирование и исправление».

В случаях, когда невозможно запустить конфигуратор, воспользуйтесь утилитой chdbfl.exe. Это упрощенная программа-аналог тестирования базы, функции, которая запускается в режиме конфигуратора. Расположена она в папке «bin» установленной технологической платформы, например, C:Program Files (x86)1cv88.3…binchdbfl.exe.

Пользоваться ей просто — указываете путь к файлу базы данных и ставите опцию, нужно ли сразу исправлять обнаруженные ошибки. Если нет — утилита только продиагностирует ИБ.

Обновление платформы до новой версии

В данном случае всё достаточно просто. Скачивает с сайта поддержки 1С дистрибутив свежей версии платформы, распаковываем и запускаем инсталятор setup.exe.

Очистка таблиц базы данных

В крайнем случае можно попробовать удалить таблицы БД, связанные с ошибкой — «dbo._ConfigChngR» и «dbo._ConfigChngR_ExtProps».

Производится это через менеджер SQL-скриптом вида:
use имя_базы_данных
delete from dbo ._ ConfigChngR
delete from dbo ._ ConfigChngR _ ExtProps

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

  • Ошибка sdbl операция не может выполняться над значениями доменных типов
  • Ошибка sdbl ожидается имя таблицы pos 6 при обмене
  • Ошибка sdbl ожидается выражение pos
  • Ошибка sdbl ожидается then
  • Ошибка sdbl недопустимое преобразование типов 1с