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

1. Pelymskiy 09.07.24 13:59 Сейчас в теме
Помогите справиться с ошибкой:
В процессе обновления конфигурации базы данных при работе оптимизированного механизма обновления произошла критическая ошибка
по причине:
Критическая ошибка работы Java-процесса.
Путь к Java: C:\Program Files\Java\jre-1.8\bin\java.exe
Действие: execute
Process ID: 3860
Код возврата: 1
Ошибка: Exception in thread "main" com._1c.dmf.sqlframework.SqlExecutionException: При выполнении SQL-оператора возникла ошибка
SQL reason: The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._InfoRg43394' and the index name '_InfoRg43394_3_NO'. The duplicate key value is (0, 4022-01-11 09:35:45, 0x01, 0x00000000, 0x00000000000000000000000000000000).
SQL state: S0001
SQL: CREATE UNIQUE INDEX _InfoRg43394_3_NO ON _InfoRg43394 (_Fld2497, _Fld43397, _Fld43395_TYPE_NO, _Fld43395_RTRef_NO, _Fld43395_RRRef_NO)
at com._1c.dmf.internal.sqlframework.SqlConnection.execute(SqlConnection.java:139)
at com._1c.dmf.internal.migrator.migration.DdlMigrationStep.run(DdlMigrationStep.java:30)
at com._1c.dmf.internal.migrator.migration.Migration.executeSteps(Migration.java:80)
at com._1c.dmf.internal.migrator.migration.Migration.execute(Migration.java:47)
at com._1c.dmf.internal.migrator.Migrator.executeMigration(Migrator.java:65)
at com._1c.dmf.v8.internal.integration.DmfService.executeMigration(DmfService.java:97)
at com._1c.dmf.v8.cli.Migration.run(Migration.java:112)
at com._1c.dmf.v8.cli.Migration.main(Migration.java:84)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo._InfoRg43394' and the index name '_InfoRg43394_3_NO'. The duplicate key value is (0, 4022-01-11 09:35:45, 0x01, 0x00000000, 0x00000000000000000000000000000000).
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:258)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1535)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:845)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:752)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7151)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2478)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:219)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:199)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(SQLServerStatement.java:729)
at com._1c.dmf.internal.sqlframework.SqlConnection$StatementWrapper.execute(SqlConnection.java:287)
at com._1c.dmf.internal.sqlframework.SqlConnection.execute(SqlConnection.java:135)
... 7 more

Проблема в том, что при обновлении через ver1 реструктуризация идет 16 часов, что не допустимо совершенно, пробую чрез ver2, выходит ошибка
Есть ли способы как обновиться с адекватным временем, хотя бы 8 часов)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3060 09.07.24 14:28 Сейчас в теме
1. У Вас после обновления таблица преобразуется таким образом, что появляются две и более строки с одинаковым индексом. Например, Вы удалили какой-то тип из списка типов, в итоге все записи удаленного типа стали "пустыми", что породило дупликацию ключей.
2. Вариантов несколько:
А. Сделать так, чтобы после обновления в регистре не было дублирующихся ключей.
Б. Зайти в мелокомягкую студию и создать скрипт криэйт для реструктуризируемой таблицы, поменять имя старой таблицы на какое-нить другое (единичку добавить, например). Запустить скрипт криэйт. Обновиться. Дальше выполнить ins ert in to имяновойтаблицы sel ect * fr om имястаройтаблицы. Но тут снова можно попасть на дупликацию ключа, так что все-равно придется разобраться, что там лишнее грохаеццо.
3. Pelymskiy 09.07.24 14:41 Сейчас в теме
(2) А вы можете помочь разобраться? за вознаграждение!
4. starik-2005 3060 09.07.24 14:46 Сейчас в теме
(3) Только в нерабочее время.
Оставьте свое сообщение

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