Каталог решений - Варианты решения Нарушена целостность структуры конфигурации для SQL или в ожидании релиза 8.2.12.92

Варианты решения Нарушена целостность структуры конфигурации для SQL или в ожидании релиза 8.2.12.92

Варианты решения Нарушена целостность структуры конфигурации для SQL или в ожидании релиза 8.2.12.92

В наличии

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

Категория:

Описание

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

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

Нарушена целостность структуры конфигурации

и происходит аварийное завершение работы программы.
1С предлагала способ обхода:
Не использовать динамическое обновление.

А что делать тем кто поймал ошибку например в конце рабочего дня. востанавливать вчерашний бэкап ? или приступить к танцам с бубном.

Немного теории конифигурация базы данных хранится в таблице Config, отличия редактируемой базы в таблице ConfigSave. Соответтсвие объектов метаданных можно провести по колонке FileName, в колонке BinaryData хранится запакованные данные — описание метаданных. Если таблица заполнена то но состоит минимум из 3х элементов c значениями в колонке FileName. «version» — версия платформы «versions» здесь в запаковонном виде перечисленны все метаданные в виде {1,N,»filename1″,uid1, … «filenameN»,uidN} где N — количество объектов метаданных описанных в файле «versions», «filenameN» — имя файла,uidN — уникальный ID — при изменени объекта метаданных гененерится новый.

Обычно при такой ошибки данные не разрушены, а разрушенна только конфигурация.

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

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

Перенос конфигурация для SQL 2005 описан-> http://www.infostart.ru/public/17185/

Выгрузка конфигурации для DB2 //sale.itcity.ru/public/78378/

Выгрузка конфигурации для MS SQL //sale.itcity.ru/public/85275/

Перед всеми действиями делаем бэкап средствами sql базы данных.

И начинаем танцы с бумном.

проверяем наличие записей в таблице ConfigSave

SELECT * FROM ConfigSave если что есть то нужно почистить

Delete FROM ConfigSave

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

можно попробовать руками собрать таблицу по рекомендациям

//sale.itcity.ru/public/76626/

в случае хранения базы в MS SQL можно попробовать востановить конфигураци с помощью EI.

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

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

PS

пример ошибки когда база открывается в режиме конфигуратора но при открытии в режиме предприятия выдаёт ошибка типа «тип bf3eefc5-26ac-4bb2-bec0-33a82e49a0c5 не найден»

вариант лечения создать для пользователя новый интерфес.

FAQ для DB2

создание таблицы conf — копии разрушенной config

CREATE TABLE «DB2ADMIN».conf (
  FILENAME    VARGRAPHIC(128)    NOT NULL,
  FILENAMEU    VARGRAPHIC(128)    NOT NULL    GENERATED ALWAYS AS (UCASE(FILENAME)),
  CREATION    TIMESTAMP    NOT NULL,
  MODIFIED    TIMESTAMP    NOT NULL,
  ATTRIBUTES    SMALLINT    NOT NULL,
  DATASIZE    INTEGER    NOT NULL,
  BINARYDATA    BLOB(1073741823)    NOT NULL    LOGGED    NOT COMPACT
)
  IN «V81C_LARGESPACE»
  INDEX IN «V81C_INDEXSPACE»
  LONG IN «V81C_LOBSPACE»;

ALTER TABLE «DB2ADMIN».conf
  DATA CAPTURE NONE
  LOCKSIZE ROW
  APPEND OFF
  NOT VOLATILE;

COMMIT;

RUNSTATS ON TABLE «DB2ADMIN».conf
  ALLOW WRITE ACCESS;

SET SCHEMA = DB2ADMIN;

COMMIT;

Перенос данных таблицы conf — копии разрушенной config

                Insert INTO DB2ADMIN.conf(FILENAME,
                       CREATION,
                       MODIFIED,
                       ATTRIBUTES,
                       DATASIZE,
                       BINARYDATA)
                Select FILENAME,
                       CREATION,
                       MODIFIED,
                       ATTRIBUTES,
                       DATASIZE,
                       BINARYDATA
                FROM  DB2ADMIN.config

наличие такой таблички не помешает работоспособности 1с, зато позволит заменять отдельные

записи в таблице конфигурации

PS если кому интересно есть обработка которая может записать правильный файл version для произвольной конфигурации в файл cf ( правда только в файловом режиме но его можно загрузить в cql базу)

 

has been added to your cart:
Оформление заказа