Ошибка при загрузке базы 1С в SQL из dt файла #755363


#0 by bigmag
Всем привет. Есть dt-файл УТ 11.1.10.131 При загрузке dt-файла в новую базу SQL вываливается ошибка: Ошибка загрузки информационной базы. В информационную базу загружены не все данные по причине: Попытка вставки неуникального значения в уникальный индекс: Microsoft SQL Server Native Client 11.0: Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo._AccumRgT17414" и индекса с именем "_Accum17414_ByDims_TRRRRSTN". Повторяющееся значение ключа: (0, окт  1 4015 12:00AM, 0x8574f39fb4b79b1f41c6c6a0f957ed56, 0x98a6001e676ecaa611e2cbacf025db1c, 0xa80e001e679db8f411e496bfe2f9edc8, 0x86eb001e679db8f411e4e99a5b1797f3, 1111                  , сен 12 4015 12:00AM, 0). В SQL новичок. Версия SQL 2014: 12.0.4213.0 ОС: Windows Server 2012 R2 Что пробовал: Разворачивал dt-файл в файловую базу. Выполнил проверку файла 1CD утилитой chbdfl.exe без ошибок. Выполнил полное ТИИ. Вопрос: 1. Как исправить? 2. Возможно ли в SQL включить такой режим, который будет игнорировать подобные ошибки? Думаю этот режим позволит мне загрузить базу в SQL и средствами SQL поправить найденные ошибки. ICQ:285911490 Нужна ваша помощь!!!
#1 by bigmag
а знаю... не хватает версии 1С платформы.
#2 by ДенисЧ
в файловой для начала полное ТИИ. Потом уже выгружай
#3 by lxndr
мне пока показалась подозрительной дата.. окт  1 4015 12:00AM
#4 by lxndr
аа, смещение 2000 же!
#5 by bigmag
так и сделал
#6 by assasu
а прогу что в Bin  лежит запускал?
#7 by bigmag
Выполнил проверку файла 1CD утилитой chbdfl.exe без ошибок.
#8 by assasu
тогда надо понять что такое dbo._AccumRgT17414 в файловой базе. открыть ее и вычистить все что мешает правильной загрузке.
#9 by senior
можно обработкой просмотра метаданных найти этот индекс в конфе и удалить, и поставить снова, после этого перевыгрузить
#10 by master Yoda
Видно по идентификатору, что это по регистру накопления. Какой именно - смотреть по метаданным. Полное ТИИ имеется ввиду, что Сжатие таблиц и Реиндексация, и Сжатие Таблиц, и Реструктуризация Таблиц были выполнены? Есть вероятность, что регистр не типовой и там установлена какая-то не пойми зачем нужная комбинация флагов на измерениях и реквизитах регистра. Тогда убрать пометки на эти индексы из реквизитов регистра, обновить базу и попытаться снова перейти на SQL
#11 by master Yoda
после загрузки в SQL можете отдельно протестировать использование этих индексов - это уже будет более уместно, т.к. использование другого движка базы может давать отличные от прежних значения индексов.
#12 by Cyberhawk
Распроведи все документы за 12 сентября, выгрузи в dt, загрузи в SQL, потом проведи
#13 by Cyberhawk
А вот "окт  1 4015" - это таблица итогов. Пересчет итогов всех регистров сделай через ИР
#14 by bigmag
Полное ТИИ - да, и сжатие и реструктуризация и реиндексация при загрузке в SQL вываливается ошибка спасибо за идею спасибо, сделаю
#15 by master Yoda
Кстати, да. Но тут все-таки желательно убедиться в том, что или конфигурация полностью типовая, или там нет никаких самописных извращений в собственно метаданных с регистрами накопления
#16 by master Yoda
// при загрузке в SQL вываливается ошибка угу. я и предлагаю на крайний случай отключить индексы у этого регистра напрочь и включить их обратно уже после загрузки. Но самое простое, как в - просто снять с проведения регистраторы перед выгрузкой ДТ и провести их уже в SQL
#17 by Cyberhawk
только обязательно через ИР, т.к. у меня через штатную пересчитывалку не взлетело, а после ИР - взлетело
#18 by Dmitrii
+1 Еще один вариант обхода: 1. Отключить у проблемного регистра накопления AccumRgT17414 использование итогов и текущих итогов. Если не знаешь о каком регистре идет речь можно отключить итоги тупо у всех регистров. 4. В базе на SQL включить использование итогов и текущих итогов у регистра(ов), где отключали итоги на первом шаге. А вообще косяк в движениях регистра за 12 сентября. Где-то есть запись с пустыми или некорректно заполненными измерениями. Например в измерение Номенклатура запихнули значение НЕ из справочника Номенклатура или вообще пустое значение не смотря на запрет незаполненных значений. При записи набора в режиме ОбменДанными.Загрузка=Истина такое может проскочить.
#19 by МихаилМ
". Возможно ли в SQL включить такой режим, который будет игнорировать подобные ошибки?" возможно для этого надо написать Ddl триггер , отменяющий создание PK (индекса).
#20 by bigmag
конфигурация дописана, добавлен робот и работа с ШК. Документы, справочники и регистры не тронуты спасибо, в копилку что такое ИР и где его взять? спасибо, буду пробовать Михаил, можно поподробнее про тригер Dbl.. в SQL новичок
#21 by Dmitrii
> про тригер Dbl.. в SQL Подобные действия в SQL не решают проблему наличия ошибочных данных в регистре. К тому же не совсем понятно как такие манипуляция с базой в скуле отразятся на корректности работы самой 1С в дальнейшем. Это не для нубов в SQL.
#22 by Cyberhawk
ИР:
#23 by МихаилМ
я написал пост основываясь на Вашем утверждении "Думаю этот режим позволит мне загрузить базу в SQL и средствами SQL поправить найденные ошибки". если Вы в sql новичок (при стаже на форуме 9 лет ) и не умеете пользоваться поисковыми сервисами. то мой совет не для Вас
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С