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

При динамическом обновлении конфигурации что-то пошло не так. В итоге, при попытке входа в конфигуратор, либо в базу открывалось окно с описанием ошибки "Нарушена целостность структуры конфигурации" с двумя возможными действиями - "Завершить работу", либо "Перезапустить".

Опишу, как я справился с этой проблемой. Конфигурация самописная, на платформе 1С:Предприятие 8.2.15.289. Работает в клиент-серверном режиме: Windows Server 2008 R2 Enterprise 64-bit, Microsoft SQL Server 2008 R2. Первое, что я сделал - это почистил кэш, то есть удалил все папки с названиями, подобными "1154d395-1ab2-49ae-9ba5-cda925616fc1" в директориях:

C:\Users\ЮЗЕР\AppData\Local\1C\1Cv82
C:\Users\ЮЗЕР\AppData\Roaming\1C\1Cv82

и перезагрузил 1С сервер.

К сожалению, это не помогло. Далее всю информацию по восстановлению конфигурации черпал из интернета. И здесь уже без прямого использования SQL не обойтись. Для решения задачи использовал Microsoft SQL Server Management Studio. Наименование базы в SQL "MyDB". В первую очередь сохранил копию базы данных.

Я узнал, что записи о файлах конфигурации хранятся в таблице Config, а записи о файлах обновленной конфигурации хранятся в таблице ConfigSave. И первое, что советовали - это удалить все записи из таблицы ConfigSave, если они там есть, чтобы откатиться к последней конфигурации, которая была до неудачного обновления. Но в моем случае эта таблица была пустая.

Следующим этапом необходимо было проанализировать таблицу Config и таблицу Params, и удалить записи со значением "DynamicallyUpdated" в поле "FileName" - это след от динамического обновления. Такие строки я обнаружил и удалил их использовав запросы:

Delete From [MyDB].[dbo].[Config]
WHERE [FileName] LIKE 'DynamicallyUpdated'

и

Delete From [MyDB].[dbo].[Params]
WHERE [FileName] LIKE 'DynamicallyUpdated'

Не помогло.

Перешел к последнему варианту. Суть его состояла в том, чтобы создать пустую базу с идентичной конфигурацией (назвал ее "test"), и заменить все записи таблицы Config в поврежденной базе на записи из такой же таблицы из пустой базы. Для этого я полностью очистил таблицу Config в поврежденной базе:

Delete From [MyDB].[dbo].[Config]

и заполнил ее всеми записями из пустой базы:

INSERT INTO [MyDB].[dbo].[Config] SELECT * FROM [test].[dbo].[Config]

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