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

1. fugu 23 26.02.12 20:22 Сейчас в теме
MSSQL-база
Есть хранилище.
Делаю пустую базу,накатываю на неё бэкап. Всё работает. Затем подключаю к хранилищу. После нажимаю обновить конфигурацию и выскакивает ошибка "Нарушена целостность структуры".
До обновления базы подключенной к хранилищу, всё работает.
Подскажите как победить?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. fugu 23 26.02.12 20:50 Сейчас в теме
Кто-либо встречался с данной проблемой?
3. Velesstroy_OOO 26.02.12 21:40 Сейчас в теме
  • 1. Сохранить конфигурацию хранилища из другой, подключенной к хранилищу, конфигурации. Загрузить ее в развернутую базу.
  • 2. Убедиться, что все нужные изменения из хранилища сохранены в рабочей базе, пересоздать хранилище.

P.S. Еще не мешало почистить кэш.
5. fugu 23 27.02.12 11:24 Сейчас в теме
(3) - сохранил конфигурацию из другой базы хранилища. Попытался загрузить в базу, опять выскочила таже ошибка - "Нарушена целостность структуры".
4. E_Johnny 27.02.12 06:36 Сейчас в теме
у меня такое случалось когда динамически обновлял конфу УПП 1.3 SQL (более 10 Gb) перед глобальными изменениями. лечилось: востановление из бэкапа, возврат к конфигурации БД, изменение в конфе (например, пробел в тексте) и монопольное сохранение конфы, затем накатывалось обновление. в дальнейшем пытался по минимуму делать динамические обновления (одновременно работающих сеансов более 10)

но это было на 8.2.13 релизах платформы
6. fugu 23 27.02.12 11:28 Сейчас в теме
(4) - Восстановил из бекапа, всё работает, подключил к хранилищу, тоже работает, пытаюсь обновить конфу, всё ошибка.
7. Velesstroy_OOO 27.02.12 12:26 Сейчас в теме
Если база небольшая то можно попробовать выгрузить в dt-шник и снова загрузить.
По хорошему надо попробовать пообъектно обновить и посмотреть на каком объекте сыпется.
8. fugu 23 27.02.12 12:33 Сейчас в теме
(7) подскажите, как пообъектно, можно подробнее?
9. Velesstroy_OOO 27.02.12 14:27 Сейчас в теме
(8) fugu, достаточно рутинная работа: необходимо получить отчет об измененных объектах, через сравнение с конфигурацией хранилища. И потом по списку начать их подтягивать в развернутую базу.
10. Velesstroy_OOO 27.02.12 14:29 Сейчас в теме
если база до 30-40 Гигов, рекомендую развернуть через выгрузку-загрузку, дольше, но ошибок однозначно будет меньше.
11. infotrade 27.02.12 15:04 Сейчас в теме
Вообще данная ошибка обычно возникает в случае когда происходит сбой при загрузке обновлений конфигурации такая ситуация лечится довольно просто в SQL SMS выполняется скрипт очистки таблицы ConfigSave -
Код: [Выделить]
Use DBName
go
Delete From [DBO].[ConfigSave]
go
Результатом данного скрипта будет очистка таблицы ConfigSave, что должно позволить запустить конфигурацию существовавшую до изменения.
Но в моем случае таблица ConfigSave была пуста. Да и ошибка возникла не в результате загрузки новой конфигурации.
Проблема решалась поэтапно. Первым этапом разрешалась проблема входа в конфигуратор для чего необходимо остановить сервис 1С сервера, далее удалить (я переименовал) папку «C:\Documents and Settings\UserName\Application Data\1C\1Cv8» после чего запускаем сервис 1С запускаем 1С добавляем базу, т.к. после отчисти профиля были утеряны все данные по настройкам 1С.
Запускаем конфигуратор т.к. предыдущим действием были отчищены все настройки пользователя 1с добавляем базу в выбор баз. При открытии конфигуратора ошибка не появляется, но при попытке открыть конфигурации система выдает все ту же ошибку. Однако пункт меню «сохранить конфигурацию бд в файл» активен, выгружаем конфигурацию в файл. Но т.к. пункт меню загрузить конфигурацию из файла активен только при открытой конфигурации будем рещать это другим способом.
Вторым этапом стало решение проблемы с загрузкой конфигурации. На этом этапе мне понадобился бекап базы созданный до появления проблемы (думаю что в принципе подойдет любая база работающая на том же релизе, но не проверял). Восстанавливаем бекап с рабочей конфигурацией. В SQL SMS для поврежденной базы очищаем таблицу Config, содержащую конфигурацию которая собственно говоря и компилится для работы 1С, для чего выполняем следующий скрипт –
Код: [Выделить]
Use DBName
go
Delete From [DBO].[ConfigSave]
Go
После чего выполняем скрип который из восстановленной базы (DataBaseNameRest) загрузит рабочую но старую конфигурацию в таблицу Config-
Код: [Выделить]
Insert InTo [DataBaseNameCorr].[Dbo].[Config] (Select * from [DataBaseNameRest].[Dbo].[Config])
Go
Третьим этапом производим загрузку последней версии конфигураци ( в моем случае выгруженную мне удалось выгрузить последнюю конфигурацию из поврежденной базы). Для загрузки открываем конфигуратор поврежденной базы. Не в коем случае не обновляйте конфигурацию и не заходите с текущей конфигурацией в режиме предприятия это может привести к потере данных т.к. в данный момент у вас сохраненна конфигурация не соответствующая метаданным базы. Открываем конфигурацию, в меню конфигурация выбираем пункт «Загрузить конфигурацию из файла», в качестве файла указываем выгруженную на первом этапе конфигурацию.
После загрузки конфигурации обновляем базу . Скорее всего будет выдано сообщение о изменении метаданных соглашаемся с изменением.
Открываем базу данных и проверяем доступны ли последние изменения.
12. fugu 23 27.02.12 15:44 Сейчас в теме
Да в том-то и дело база сама по себе работает, перестает работать, только когда подключился к хранилищу и нажал обновить конфу и вот тогда пиндык...
13. E_Johnny 28.02.12 06:56 Сейчас в теме
попробуй обновить конфу без подключения к хранилищу, добавь какой-нибудь объект, например, подсистему
если ошибка, тогда рой инет в направлении скрипта очистки таблицы ConfigSave
14. Hamsik 13 25.01.18 14:26 Сейчас в теме
Мне помогла такая методика -
Проблему победил, могу поделиться.
Все чистки не помогали.
Отключил базу от хранилища.
Создал новый объект - сохранил.
Удалил этот же объект - сохранил, произошла автоматическая реструктуризация базы.
После без проблем подключил её к хранилищу.
kaliuzhnyi; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот