Длина ключа индекса превышает максимально допустимую

Ошибка СУБД:
Длина ключа индекса превышает максимально допустимую '_InfoRg14447_1@ (_Fld794, _Fld14448, _Fld14449) UNIQUE'

Бывают случаи, когда при попытке выгрузить базу клиент-серверной СУБД в файловый вариант, происходит ошибка:

Ошибка загрузки информационной базы. В информационную базу загружены не все данные по причине: Ошибка СУБД:
Длина ключа индекса превышает максимально допустимую '_InfoRg43573_1X1 (_Fld43574, _Fld43575) UNIQUE'
по причине:
Длина ключа индекса превышает максимально допустимую '_InfoRg43573_1X1 (_Fld43574, _Fld43575) UNIQUE'

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

Единственным ограничением на использование индекса при использовании СУБД (файловый вариант), встроенной в 1С:Предприятие, является максимально допустимая суммарная длина ключа в индексе, равная 1920 байт. При попытке создания индекса с длиной ключа, превышающей 1920 байт, будет выдано сообщение об ошибке.

Системная ошибка сообщает о том, что у таблицы _InfoRg43573, есть два индексированных поля Fld43574 и Fld43575, длина ключа которых больше максимально допустимых.

Но проблема в том, что мы не знаем, что это за таблица, и тут нам на помощь приходит подсистема «Инструменты разработчика»

Подсистема “Инструменты разработчика”

Скачать: Инструменты разработчика портативный 1С 8.2+ V6.23.1P

Скачиваем подсистему, запускаем в обычных формах и открываем инструмент: Структура хранения базы данных.

Выполняем все это в рабочей клиент — серверной версии информационной базы 1С.

Структура хранения базы данных

По названию таблицы из ошибки находим объект конфигурации и проверяем индексированные поля.

В моем случае это регистр сведений и все его измерения являются индексированными.

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

Как вариант решения: уменьшаем длину строки, или снимаем индексацию (если индексирование поставлено на всякий случай).

Уменьшаем длину строки, или снимаем индексацию

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

Уменьшаем размер строки измерений 1С

Получаем сообщение об успешной загрузке информационной базы в файловую версию.

Информационная база успешно загружена

Подробнее про индексы в 1С

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *