Ошибка SDBL

Ничто не предвещало беды. Ранним утром в пятницу(где-то около 4 утра) раздался телефонный звонок. В трубке прозвучало следующее: «У нас здесь ошибка SDBL». Так как незнакомые ошибки я на слух не воспринимаю пришлось вставать и идти разбираться. Ошибку сначала надо было потрогать, осмотреть, а уже потом бороться. Запустив базу (а при этой ошибке база запускается), попытался выполнить определенную операцию с документом (которую мне сообщил голос в трубке) — и увидел это

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

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

Так как информации по причине мало, поэтому считаю, что приведенная здесь причина является правильной — сломалась таблица на уровне MS SQL базы (справочник или документ предпочтительнее). Что именно с ней не так нам к сожалению на удалось выяснить. 

Итак, инструкция:

Поиск сломанной таблицы 

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

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

Ошибка
Ошибка SDBL Ожидается выражение (pos=какое-то число>).

то это и есть наш заяц.

Если там объект — то это еще легче. Уже сразу узнаем таблицу.

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

Редактирование сломанной таблицы

Здесь уже легче и более знакомо. Нужно добавить удалить реквизит из таблицы и обновить базу. Во время реструктуризации таблица будет обновлена и ее баг исправлен. Я, например, добавил реквизит Спасательный реквизит (тип Булево, объект не брал, потому мало ли что) и обновил. проблема пропала.

Ну а теперь коротко:

  1. Ищем проблемную таблицу в БД;
  2. Добавляем (удаляем) туда в конфигураторе любой реквизит;
  3. Обновляем базу;
  4. Тихонько радуемся 🙂
Надеюсь, что это сэкономит чьи-то часа поиска и нервы:)