Загрузка dt в SQL базу.

1. qwed557 30 24.07.12 09:26 Сейчас в теме
Есть ДБФ База нужно перевести ее на SQL, база оттестирована, выгрузка проходит нормально но при загрузке выходит такое сообщение:

Ошибка загрузки информационной базы. В информационную базу загружены не все данные
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft OLE DB Provider for SQL Server: Операция CREATE UNIQUE INDEX прервана, так как обнаружен повторяющийся ключ для имени объекта "dbo._Document210_VT5229" и имени индекса "_Documen210_VT5229_IntKeyInd". Повторяющееся значение ключа: (0x00000000000000000000000000000000, 0x00000000).
HRESULT=80040E2F, SQLSrvr: Error state=1, Severity=10, native=1505, line=1

нашел что таблица Documen210_VT5229 это списание товаров ТЧ Товаров, как и какими средствами можно исправить эту ошибку?

Как отключить у конкретной таблицы dll тригеры, если их там вообще нет, загрузка падает на этой таблице

ПолучитьСтруктуруХранениябазыДанных() Выдало Метаданные: Документ.СписаниеТоваров.ТабличнаяЧасть.ТоварыНазначение:ТабличнаяЧасть
как здесь можно очистить пустые значения?
Или есть вариант как при загрузке в SQL отключить контроль индексов?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. insurgut 207 25.07.12 13:08 Сейчас в теме
Нету вроде такого, тестирование и исправление полностью делали(chkdbfl + тестирование и исправление в конфигураторе с установкой всех галочек)? После тестирования исправления пробовали загрузить в чистую файловую, выгрузить и уже эту выгрузку загружать в SQL?
3. qwed557 30 26.07.12 18:00 Сейчас в теме
(2) да все это пробовали , а решили довольно наверное варворским методом,в tools_1C посмотрели смещение на объектах которые были нулевыми и соответственно не уникальными, далее в hex редакторе нашли по смещениям все ссылки и забили первые байты разными числами, и вуаля, повторяющихся значений нет и база целая, единственный недостаток такого метода - очень долго, но это того стоит
4. insurgut 207 26.07.12 22:40 Сейчас в теме
Есть еще один способ - выгружаете конфигурацию, загружаете в чистую базу на SQL, затем обработкой "ВыгрзкаЗагрузкаДанныхXML" из поставки конфигурации "Конвертации данных" выгружаем все данные из файловой базы, и загружаем в SQL'ную. Ну как вариант, думаю даже попроще, но такой вариант не катит - если база большая конечно :)
5. denzo 07.08.12 16:41 Сейчас в теме
У меня похожая проблема! Пытаюсь загрузить выгруженную информационную базу и выдает следующее:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft OLE DB Provider for SQL Server: Операция CREATE UNIQUE INDEX прервана, так как обнаружен повторяющийся ключ для имени объекта "dbo.Params" и имени индекса "PK__Params__3C69FB69". Повторяющееся значение ключа: (users.usr).
HRESULT=80040E2F, SQLSrvr: Error state=1, Severity=10, native=1750, line=1
. Не могу понять в чем дело. Причем сохраненную конфигурацию *.cf загружает и все работает, а из файла *.dt не хочет. В чем могут проблемы? Подскажите ради бога.
6. maximka19902 11.12.12 15:22 Сейчас в теме
denzo, я мучился с этой проблемой двое суток, в итоге все проще простого:
1. В шестнадцатиричном редакторе нахожу в файле базы .1cd "неправильные" записи "users.usr"
2. В начале таких записей (перед байтом 09) меняю байт 00 на 01, т.е. отмечаю их как помеченные для удаления.
3. Запускаю тестрование и исправление - сжатие базы. Помеченые записи удаляются физически.
4. Выгружаю базу и загружаю в SQL. Все ОК.
compreSSor; evgaid; +2 Ответить
10. Sintson 411 21.12.12 11:17 Сейчас в теме
(6) (7) (8) (9)
Все что касается "неправильных" записей таблицы "users.usr" лечится еще проще, а именно:
либо утилитой tool_1cd просматриваем таблицу "users.usr" и находим кривые даты вида 5999 и т.п., затем в конфигураторе файловой базы добавим/убавим права этим пользователям или еще какие свойства поменяем и запишем (спровоцировав систему установить сегодняшнюю дату модификации записи),
либо, чтоб не заморачиваться, просто пройтись по всем и сделать то же самое.
11. kasper076 105 21.12.12 11:27 Сейчас в теме
(10) А с настройками пользователя как быть?
12. Sintson 411 21.12.12 11:35 Сейчас в теме
(11) Они никуда не денутся.
Еще раз...
* Открываем конфигуратор
* Открываем список пользователей
* Открываем на редактирование первую запись
* Добавляем первую попавшуюся роль
* Нажимаем кнопку записать
* Убираем добавленную роль
* Нажимаем кнопку записать
--->> повторить со всеми пользователями, в случае когда не знаем проблемных
все, у записей установлена "правильная" дата редактирования.
13. kasper076 105 21.12.12 11:42 Сейчас в теме
(12) *.dt не загружается в базу, т.к. есть неуникальные индексы в таблице Files, где хранятся настройки пользователей. Вот я о чем говорю.
38. compreSSor 10 27.08.13 23:45 Сейчас в теме
(6) maximka19902, очень сильно помог !!! спасибо !!!
7. zmaxims 14 11.12.12 19:13 Сейчас в теме
8. maximka19902 12.12.12 07:19 Сейчас в теме
Всё проще чем кажеться, на самом деле процесс очень прост. Кстати в качестве шестнадцатиричного редактора лучше использовать HxD редактор, и искать слово users с поставленной галочкой unicode string.
9. kasper076 105 20.12.12 07:27 Сейчас в теме
Недавно решал подобную проблему. Воспользовался программой DTManager.
1. Распаковал файл *.dt
2. Открыл паспакованный файл редактором gedit
3. Нашел нужные данные и изменил значение нужного индекса
4. Запаковал файл *.dt
5. Загрузить в SQL
14. Sintson 411 21.12.12 11:48 Сейчас в теме
(9)
У меня есть вопрос по индексам, с пользователями вопрос решил, а вот проблема

Ошибка загрузки информационной базы. В информационную базу загружены не все данные
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft OLE DB Provider for SQL Server: Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo._AccRgChngR1622" и индекса с именем "_AccRgC1622_ByNodeMsg_RNR". Повторяющееся значение ключа: (0x00000013, 0x8e67009027a2b6ce11e0b82ef9661ed5, <NULL>, 0x0000022a, 0xa8d9009027a2b6ce11e1887105c09117).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1


у меня пока не решена.
при помощи обработки Структура хранения базы, кстати, автору спасибище,
выяснил, что назначение таблицы - история изменений регистра бухгалтерии, как бы ее очистить или поправить - мыслей нет!
Может что подскажешь?
17. kasper076 105 21.12.12 12:05 Сейчас в теме
(14) Распаковал *.dt ?? Искал в нем 8e67009027a2b6ce11e0b82ef9661ed5 или 0xa8d9009027a2b6ce11e1887105c09117 ?
18. Sintson 411 21.12.12 12:08 Сейчас в теме
(17)
Распаковал, на тот момент пытался пользователей победить, запаковал снова (экспериментировал), dt не загрузился, - ошибка формата потока написал :(
Сейчас попробую найти, если найду что с этим делать?
И как быть с ошибкой после запаковки?
15. maximka19902 21.12.12 11:53 Сейчас в теме
А смещение на 2000 при загрузке базы не помогает? Вроде же значение "NULL"
16. Sintson 411 21.12.12 11:59 Сейчас в теме
(15)
В том - то и дело что не помогает!
Думаю, как бы удалить эту историю изменений из базы, - думаю мне они ни к чему!
19. kasper076 105 21.12.12 12:08 Сейчас в теме
Что значит "история изменений регистра бухгалтерии"?? План обмена ты имеешь ввиду?
21. Sintson 411 21.12.12 12:19 Сейчас в теме
(19) Не, не думаю что это план обмена, такое название мне обработка сообщила, думаю что таблица входит в состав таблиц регистра бухгалтерии.
(20) Я всякими пользовался, чет не могу пока найти 8e67009027a2b6ce11e0b82ef9661ed5, а что такое 0xa8d9009027a2b6ce11e1887105c09117 - даже не понимаю, на число не похоже...
Поставил gedit, при загрузке файла на редактирование редактор ворчит: "Не удалось открыть файл «C:\Users\SintsovAS\Deskt…212.dt_unpack»."
24. kasper076 105 21.12.12 12:28 Сейчас в теме
(21) Я в данный момент редактирую распакованный *.dt при помощи gedit. Запаковка и последующая загрузку в базу, как SQL так и в файловый варианты, отредактированного файла проходили нормально.

Я предполагаю, что это и есть значение индекса.

У меня вот такая проблема была

Решил ее указанным в (9) способом.
25. kasper076 105 21.12.12 12:36 Сейчас в теме
(21) Это точно таблица которая хранит признак изменения данных регистра бухгалтерии. Попробуй в файловом варианте удалить регистрацию изменений для всех регистров бухгалтерии, а затем выгрузить в *.dt и загрузить в SQL.
30. Sintson 411 21.12.12 13:36 Сейчас в теме
(25)
Если не трудно, можно по-подробнее.
Не смог найти где это включается - выключается!
32. kasper076 105 21.12.12 13:41 Сейчас в теме
(30) В типовой УТ: Операции - Обработки - РегистрацияИзмененийДляОбмена
Удали регистрацию изменений всех регистров бухгалтерии во всех планах обмена.
33. Sintson 411 21.12.12 14:05 Сейчас в теме
(32)
Спасибище, помогло, ошибку проскочили, теперь вот такая вылезла

Ошибка загрузки информационной базы. В информационную базу загружены не все данные
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft OLE DB Provider for SQL Server: Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo._DocumentChngR7258" и индекса с именем "_Docume7258_ByNodeMsg_RNR". Повторяющееся значение ключа: (0x00000013, 0x8e67009027a2b6ce11e0b82ef9661ed5, <NULL>, 0xae84009027a2b6ce11e17e3152747a62).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1


Пошел искать...
34. kasper076 105 21.12.12 14:07 Сейчас в теме
(33) Удали регистрацию изменений всех объектов во всех планах обмена. Видимо что-то в таблицах регистрации изменений слетело.
35. Sintson 411 21.12.12 14:10 Сейчас в теме
(34)
Точно! Пошел все постираю, мне обмен не нужен.
36. Sintson 411 21.12.12 14:51 Сейчас в теме
(34)
Еще раз спасибо за совет, бился почти неделю!
Все получилось!!!
20. kasper076 105 21.12.12 12:10 Сейчас в теме
Распакованный *.dt нужно редактировать текстовым редактором gedit. Он не изменяет структуру файла при редактировании. Может и еще какие-то редакторы есть, но я только про этот знаю.
22. maximka19902 21.12.12 12:24 Сейчас в теме
Посмотри как открыть регистр бухгалтерии, может там найдешь
http://v8.1c.ru/overview/AccountingReg.htm#20
23. Sintson 411 21.12.12 12:27 Сейчас в теме
(22)
Спасибо большое за совет, попробую разобраться!
И все же, я как - то не так открываю распакованный файл редактором gedit?
HEdit и HxD открывают без проблем, но записи не находят :)
26. kasper076 105 21.12.12 12:45 Сейчас в теме
gedit это текстовый редактор. Не нужно открывать распакованный *.dt Hex-редактором.
27. maximka19902 21.12.12 12:48 Сейчас в теме
gedit кодировку не может определить, поэтому и не открывает. Кстати у меня тоже не открывает.
28. kasper076 105 21.12.12 12:54 Сейчас в теме
29. kasper076 105 21.12.12 13:08 Сейчас в теме
Оказывается базы 8.2 распаковываются в другой кодировке, нежели 8.1
31. maximka19902 21.12.12 13:39 Сейчас в теме
Да просто не подходит эта программа для 1С 8.2. У неё кодировка не подходящая
37. zoytsa 25.02.13 08:35 Сейчас в теме
В аналогичной ситуации (ошибка CREATE UNIQUE INDEX), но в работающей на SQL базе помогло:

Use master
go
sp_configure 'allow updates', 1
reconfigure with override
go

alter database myDbase set EMERGENCY

use master
go
sp_dboption 'myDbase', 'single_user', 'true'

go
DBCC CHECKDB('myDbase', REPAIR_ALLOW_DATA_LOSS)

use master
go
sp_dboption 'myDbase', 'single_user', 'false'
go

go
sp_configure 'allow updates', 0
go


Перед испытанием обязательно делайте бекап! ;-)
39. sferg 30.06.14 22:04 Сейчас в теме
Тема уже старая, но я апну, что бы не создавать новой темы.

У меня выскакивает следующая ошибка при загрузки базы в PostgresSQL

Ошибка загрузки информационной базы. В информационную базу загружены не все данные
по причине:
Попытка вставки неуникального значения в уникальный индекс:
ERROR: could not create unique index "_accumr8540_byregid_b"
DETAIL: Key (_fld10614, _regid)=(0, \xf1ed9ccc0d414a41a05ff167b8908470) is duplicated.

Перепробовал все что предложено в данной теме. Тестирование и исправление не помогает, выгрузка и загрузка в чистую базу тоже. Через НеХ редакторы я не могу найти этот индекс, а очистка планов обмена тоже не помогла.
Как еще можно решить данную проблему?
Заранее спасибо!
40. lsd_777 09.01.16 20:26 Сейчас в теме
тоже столкнулся с подобной проблемой, дайте совет, люди добрые!

Ошибка загрузки информационной базы. В информационную базу загружены не все данные
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo._InfoRgSL17083" и индекса с именем "_InfoR17083_ByDims_RRR". Повторяющееся значение ключа: (0, 0x877514d64d3b5a2e11e321e4b7f645ef, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1
41. Allexe8.1 09.01.16 20:34 Сейчас в теме
(40) lsd_777, как вариант.
1)Узнать что за таблица "InfoR17083" (ПолучитьСтруктуруХраненияБазыДанных() и соответстующие обработки здесь же - в помощь)
2)Очистка таблицы этого регистра в исходной базе.
3) Снова выгрузка/загрузка
4) Загрузка данных регистра - через ВыгрузкуЗагрузкуХМЛ
42. Stone78 03.05.17 14:47 Сейчас в теме
Чтобы не плодить темы напишу здесь.
После обновления БП 2.0 на БП 3.0 в файловом режиме, сохранении в dt-файл и последующей загрузкой в MS SQL появилась ошибка:
Ошибка загрузки информационной базы. В информационную базу загружены не все данные
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 10.0: Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo._AccRgAT2492" и индекса с именем "_AccRgAT2492_ByPeriod". Повторяющееся значение ключа: (0, 0x8b06f326a79e34c7428964673f5c8ca4, 4016-12-01 00:00:00, 0xb96a0011d8989ded11e017e782f0128d, 0x08, 0x00000118, 0xa52277be47c7c9994d73ec1ec4399aea, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, 0).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1

По этому поводу есть рекомендации и обработка на ИТС: https://its.1c.ru/db/metod8dev#content:5911:hdoc

Общий посыл таков, что начиная с платформы 8.3.8 после обновления необходимо выполнить операцию тестирования и исправления с включенными флажками Проверка логической целостности и Пересчет итогов.
SashaSashaSashka; +1 Ответить
43. Светлый ум 406 10.05.17 10:55 Сейчас в теме
"ТИИ" - устранило не уникальность таблиц, а вот "chkdbf" не помогло.

Ошибка:

Microsoft SQL Server Native Client 11.0: Выполнение инструкции CREATE UNIQUE INDEX прервано, поскольку обнаружен повторяющийся ключ для объекта с именем "dbo._InfoRg5983" и индекса с именем "_InfoRg5983_ByDims".
44. Светлый ум 406 10.05.17 10:58 Сейчас в теме
Регистры сведений. БезопасноеХранилищеДанных. Проверка уникальности записей
В таблице InfoRg5983 обнаружены неуникальные записи со значениями полей:
Fld5984 = UNDEFINED
Неуникальность записей устранена
45. Светлый ум 406 10.05.17 10:59 Сейчас в теме
На "ТестированиеИИсправление" ушло около 15-20 минут
46. MaCCapAkIII 17.05.17 22:14 Сейчас в теме
Коллеги, приветствую.

Ошибка при загрузку dt из файловой базы в sql

Ошибка указывает на неуникальность индексов в таблице регистра накопления РасчетыПоЭквайрингу.Остатки. Полностью очистил все записи регистра (регистраторы пометил на удаление), то есть регистр пуст, но ошибка при загрузке dt так и осталась... Возможно я чего-то не понимаю - как в пустом регистре могут остаться записи с неуникальными ключами??
Прошу помощи...
47. EMelihoff 17.08.17 12:57 Сейчас в теме
Имел удовольствие столкнутся с похожей ошибкой " CREATE UNIQUE INDEX ", ТИ выдала много сообщений такого рода: "Проверка уникальности записей В таблице InfoRg4165 обнаружены неуникальные записи со значениями полей: Fld236 = 0 Recorder = 136:BFCE5404A6D26FD811E6A59E34D976C8 LineNo = 18 Неуникальность записей устранена".
Запросом обратился к таблицам в которых ошибки, "неуникальных" записей не обнаружил.
Надо отметить, что у нас РБД, и я сделал обмен перед тем как заливать базу в SQL(естественно таблица регистраций изменений очистилась после получения квитанции из ЦБ).
Пробовал без ТИ, просто очистить регистрацию изменений, при загрузке выдало сообщение "ошибка формата потока".

Вывод решил проблему так:
1. ТИ.
2. Очистка регистрации изменений.
Оставьте свое сообщение

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