Решение "Нарушена целостность структуры конфигурации" для SQL

08.10.10

Задачи пользователя - Корректировка данных

При использовании динамического обновления конфигурации, работающей под SQL Server, в один прекрасный момент можно увидеть сообщение, информирующее о том, что "Нарушена целостность структуры конфигурации", и база становится неработоспособна ни, в режиме Конфигуратора, ни, в режиме Предприятия, так что же делать?

Такая ситуация может возникнуть при монопольном обновлении ИБ в которой ранее производились динамические обновления.

Итак приступим:

Делаем резервную копию средствами SQL Server.

Заходим в SQL Management Studio и создаем новый запрос к нашей ИБ.

 Выполняем запрос :

SELECT FileName, Modified FROM Config
WHERE FileName Like '%_dynupdate_%'
ORDER bY FileName, Modified

должен отобразиться список файлов вида, где [.число] означает возможный суффикс-расширение.

Для каждой группы файлов, начинающейся с одинакового УИД1, ориентируясь на значение поля Modified удаляем все более старые записи и заменяем в поле FileName значение наесли получившиеся строка уже существует в ИБ то необходимо сравнить их даты изменения (поле Modified) и оставить самый новый.

Пример:

из

FileName Modified
02b6f4b6-ebfa-4aab-9e30-e5f0a29588d1_dynupdate_2d7c76c5-9819-418f-a4a8-11085dfb1f7d 4010-10-08 02:36:08.000
02b6f4b6-ebfa-4aab-9e30-e5f0a29588d1_dynupdate_2d7c76c5-9819-418f-a4a8-11085dfb1f7d.0 4010-10-08 02:36:08.000
dc230ac5-7853-4d1f-8d45-168d28f1b6b0_dynupdate_abbd5ed3-1e1b-4752-b63b-eb5072af5d99 4010-10-08 03:04:41.000
dc230ac5-7853-4d1f-8d45-168d28f1b6b0_dynupdate_abbd5ed3-1e1b-4752-b63b-eb5072af5d99.0 4010-10-08 03:04:41.000

должно получиться

FileName Modified
dc230ac5-7853-4d1f-8d45-168d28f1b6b0 4010-10-08 03:04:41.000
dc230ac5-7853-4d1f-8d45-168d28f1b6b0.0 4010-10-08 03:04:41.000

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Корректировка данных Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    115739    696    176    

736

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    39114    115    152    

82

Взаиморасчеты Корректировка данных Бухгалтер Пользователь 1С v8.3 1C:Бухгалтерия Бухгалтерский учет Управленческий учет Платные (руб)

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    8378    6    3    

9

Закрытие периода Корректировка данных Системный администратор Бухгалтер Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Налоговый учет НДС Платные (руб)

Обработка для диагностики и устранения ошибочных состояний ключей аналитики при использовании новой методики раздельного учета НДС в "Бухгалтерии предприятия ред. 3.0"

6000 руб.

27.01.2015    58675    31    14    

40

Закрытие периода Корректировка данных Программист Пользователь 1С v8.3 Система компоновки данных 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    52708    181    29    

133

Печатные формы Корректировка данных Учет документов 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 3.0

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

3600 руб.

28.01.2025    1105    0    0    

2

Корректировка данных Программист Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет НДС Платные (руб)

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

7200 руб.

22.01.2025    2200    5    0    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. oberonm 9 08.10.10 08:29 Сейчас в теме
только на днях произошло подобное непотребство. пришлось восстанавливать из старого бэкапа и данные из таблиц экспортировать
13. denp2002 10.03.11 01:28 Сейчас в теме
К данной публикации нашел запрос, который мне помог

delete from Config where FileName in (
select c.filename from Config as c
inner join (
select * from (
SELECT max( modified ) over (partition by substring(FileName,0,37)) as mdt
,SUM(1) over (partition by substring(FileName,0,37)) as sm, substring(FileName,0,37) fs
, substring(FileName,48,37) sc
, *
FROM Config
WHERE FileName Like '%_dynupdate_%')as a
where a.sm != 1 ) as b
on b.mdt != c.modified and b.FileName = c.FileName)

delete from Config where FileName in (
select filename from (
select MAX(Modified) over(partition by substring(a.filename, 0, 37) ) as mdt
, *
from Config as a
where LEN(a.FileName) = 36
or a.FileName like '%_dynupdate_%'
) as b
where b.mdt != b.Modified
)

update Config set filename = substring(filename, 0, 37)
where FileName like '%_dynupdate_%'
2. ПСВ 114 08.10.10 08:36 Сейчас в теме
Для каждой группы файлов, начинающейся с одинакового УИД1, ориентируясь на значение поля Modified удаляем все более старые записи и заменяем в поле FileName значение на <УИД1[.число]> если получившиеся строка уже существует в ИБ то необходимо сравнить их даты изменения (поле Modified) и оставить самый новый


Так значит в последнем примере , надо оставить только полседнюю строчку?
а не две.
или ты не правильно объяснил.
cleaner_it; b-real; +2 Ответить
10. b-real 20.10.10 00:53 Сейчас в теме
+(2)
Полагаю, что вместо первой строки результирующей таблицы из примера должна быть одна из первых 2х строк таблицы-источника.Отсюда вопрос, а как определить какую строчку нужно оставить? В приведенном примере у строчек с одинаковыми УИД1 отличия только в суффиксе-расширении, поля Modified совпадают.
3. manlak 77 08.10.10 09:49 Сейчас в теме
седня такая же беда случилась, даже в конфигуратор не пускало,
1С - это - ****************** (много мата).
И по этой технологии не получилось. Пришлось с бэкапа восстанавливать
4. manlak 77 08.10.10 09:50 Сейчас в теме
но плюс все равно за поднятие темы! У нас просто этих строк ОЧЕНЬ много скорей всего из-за этого, это если мало тогда подойдет возможно
5. Istur 1475 08.10.10 15:07 Сейчас в теме
10063820 Нарушена целостность структуры конфигурации
Проблема:
В клиент-серверном варианте информационной базы при сохранении конфигурации информационной базы, в которой до этого выполнялось динамическое обновление, а также при последующем запуске Конфигуратора или Предприятия диагностируется ошибка
Нарушена целостность структуры конфигурации
и происходит аварийное завершение работы программы.


Ошибка исправлена в тестовом релизе 8.2.12.92
6. iov 408 09.10.10 01:13 Сейчас в теме
5 ага и еще 10 подобных вылезет.... Заколебали тестировать продукты за деньги ... реально платформа стала еще более глючная чем 8.0 первые... Причем критических ошибок с падением данных стало больше кажется.
P.S. не поверите но 3 фирмы откатились на 7.7 из-за того что та стабильнее и мене проблемно на линксах с вайном запускается нежели 8 ки.
7. pri_hod 77 10.10.10 12:50 Сейчас в теме
Поставил, вроде ошибка исчезла но при запуске УТ появляется сообщение "ИнформацияОбОшибке" отладчиком отловил что невозможно создать
ComConnector = Новый COMОбъект(УправлениеСоединениямиИБ.ИмяCOMСоединителя())
8. RailMen 830 11.10.10 23:02 Сейчас в теме
У меня такое НЕПОТРЕБСТВО (слово понравилось) было в начале сентября на ЗУП конфе, а вот буквально вчера на БП. Платформа-бяка!
9. ndacoder 110 18.10.10 13:16 Сейчас в теме
вот альтернативное шаманство для тех кому не помогло http://infostart.ru/public/76964/
11. Gens76 11.11.10 23:25 Сейчас в теме
Быстрее всего поправить это дело через копирование файлов (Config и SaveConfig.) через утилиту (при условие если есть хотяб файл конфигурации )
http://www.interface.ru/home.asp?artId=4013
12. vasiliy_b 284 02.12.10 11:30 Сейчас в теме
Может кто скрипт перепишет, который сам сравнит строки и удалит из этих таблиц лишние записи...
К сожалению моих знаний в SQL запросах пока недостаточно, чтобы самому его написать...
14. Maks_Payn 05.10.11 11:07 Сейчас в теме
пробывал запрос в SQL 2008 и он мне ругнулся на синтаксис...
можете подсказать как будет выглядить запрос для 2008 сервера?
17. PastorNak 13 25.11.11 13:31 Сейчас в теме
(14) Maks_Payn, проверьте соотбетствие кавычек, обычно при копировании возникает глюк кодировки
15. PastorNak 13 25.11.11 13:29 Сейчас в теме
Если есть живая копия базы:
Вылечилось скриптом

GO
DROP TABLE [dest].[dbo].[Config]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dest].[dbo].[Config](
[FileName] [nvarchar](128) NOT NULL,
[Creation] [datetime] NOT NULL,
[Modified] [datetime] NOT NULL,
[Attributes] [smallint] NOT NULL,
[DataSize] [int] NOT NULL,
[BinaryData] [image] NOT NULL,
PRIMARY KEY CLUSTERED
(
[FileName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
INSERT INTO [dest].[dbo].[Config]
SELECT * FROM [src].[dbo].[Config]
GO
где dest - повреждённая база, а src - восстановленная из архива.
pri_hod; Norml; Letos; +3 Ответить
16. PastorNak 13 25.11.11 13:30 Сейчас в теме
18. avega 104 03.07.12 08:38 Сейчас в теме
Если используется терминальный вариант подключения к базе, и ошибка вылетает лишь у одного пользователя а остальных пускает в базу, то достаточно почистить файлы в подкаталогах C:\USERS\ИМЯ_Пользователя\Application Data\1C\1Cv82. После этого необходимо будет добавить в список баз ту базу на которой вылетала ошибка т.к. список баз обнулится. И можно работать! ;) Перезагрузка сервера не требуется. Сие актуально для Windows Server
19. dyak84 23.04.13 18:06 Сейчас в теме
Автор спасибо такое бывало и не обнажды. Лечил востановлением из бекапа пробовал разные методы колдовства но они почемуто не сработали.При случае попробую и ваш метод. Про результат обязательно отпишусь. Спасибо за роботу так держать.
Для отправки сообщения требуется регистрация/авторизация