Имя: Пароль:
1C
1С v8
Перенести базу на SQL с помощью РИБ. Реально?
0 DenYuliya
 
05.06.18
10:23
Добрый день. Есть база РИБ, подчиненные базы все файловые. Сейчас надо перенести одну файловую базу на SQL. При попытке загрузить dt в созданную на sql пустую базу, валится куча ошибок, которые пока "танцами с бубном" побороть не удалось.
Я вот думаю, а если сделать так: сделать копию той базы, которую на sql перенести надо. Сделать ее "центральной". Выгрузить из нее "подчиненную"  уже на sql. Перенести данные по РИБ. Отвязать свеже-созданный на SQL узел. Привязать его к изначальному центральному узлу.
Как думаете, рабочая идея?
1 X Leshiy
 
05.06.18
10:24
(0) А "созданную на sql пустую базу" как создавали?

И что за ошибки?
2 DenYuliya
 
05.06.18
10:25
(1) довольно типичная "Попытка вставки неуникального значения в уникальный индекс", но все найденные на просторах интернета методы "танцев с бубном" средствами 1СМ я испробовала, и они не помогли. А средствами SQL не владею даже приблизительно.
3 Cool_Profi
 
05.06.18
10:27
В принципе - сработает.
Можно даже не РИБ, выгрузку-загрузку XML..
Но лучше разобраться с ошибками
4 DenYuliya
 
05.06.18
10:27
(1) на sql - админы добавили в консоле базу (смещение дат на 2000 стоит, да и все остальное - как обычно),  я туда добавила 1с-ную "пустую для дальнейшей разработки или загрузки". Указала имя и адрес базы на сервете.
5 Вафель
 
05.06.18
10:28
неуникальный индекс обычно лечится через ТИИ
6 DenYuliya
 
05.06.18
10:29
(3) я уже не знаю, как с ними разбираться, и как я поняла, 1С эту ошибку лечить не умеет.
Оке, спасибо, попробую.
Насчет выгрузки-загрузки ХМL - думала об этом, но она, вроде бы, с нетиповых не очень хорошо переносит.
7 DenYuliya
 
05.06.18
10:30
(5) не лечится.
8 timurhv
 
05.06.18
10:38
(6) Обработка должна нормально переносить, если перед записью у дописанных элементов стоит возврат если обмен данными идет.
9 DenYuliya
 
05.06.18
10:41
(8) не совсем поняла, что значит "если перед записью у дописанных элементов стоит возврат"?
Функция Возврат() в процедуре ПередЗаписью()?
10 DenYuliya
 
05.06.18
11:05
(5) точнее как... я не знаю точно, но гугл говорит, что ТИИ эту ошибку не лечит.
У меня же ТИИ выполняется с 16 часов вчерашнего дня и завершаться пока что не думает.База 20 гб, Розница.
"Диспетчер задач" - "Подробности" говорит о том, что процесс сожрал уже "1 552 872 К памяти", и "12 624 ИД процесса", "13 ЦП" - я не очень понимаю, что это такое, но понимамаю, что это овер-дохрена и есть вполне реальная вероятность, что ТИИ так и не окончится, просто обвалившись с ошибкой.
11 Azverin
 
05.06.18
11:06
(9) и это говорит человек, у которого РиБ.
12 Azverin
 
05.06.18
11:08
(9)
Если ОбменДанными.Загрузка  Тогда
        Возврат;
    КонецЕсли;
13 DenYuliya
 
05.06.18
11:08
(11) мне это счасть по наследству передали неделю назад, до этого РИБ лет 5 не видела в глаза).
Там вроде должна быть какая-то проверка, типа "Если ОбменДанными Тогда Возврат", речь об этом?
14 DenYuliya
 
05.06.18
11:09
(12) одновременно написали)))). Да, припоминаю такое, есть ли в измененных объектах данная проверка - еще не смотрела, но думаю есть.
15 DenYuliya
 
05.06.18
15:41
(3)
Я правильно понимаю порядок действий?

Имеем:
1) ЦентральнаяБаза (ЦБ)
2) ПодчиненнаяБаза(ПБ) (файловая)

надо перенести ПБ на SQL.

Порядок действий:
1) Отключаю у ПБ ГлавныйУзел (обработкой СнятьУстановитьГлавныйУзел)
2) Создаю новый ПланОбменов в ПБ, код присваиваю тот, который ранее был в ГлавномУзле
3) Из ПБ создаю ОбразБазы, в этот моммент ПБ сама становится как ГлавнымУзлом.
4) Из ОбразаБазы создаю новую пока еще пустую файловую базу (подчиненую ПБ) - ПБ_для_SQL
5) Из ПБ_для_SQL выгружаю dt.
В нем на данный момент еще нет данных, только метаданные (я правильно помню, что новый образ узла создается без данных?), поэтому проблемы с неуникальностью записей быть не должно.
6) Загружаю dt из ПБ_для_SQL в заранее созданную пустую sql-базу
7) настраиваю обмен между ПБ и ПБ_для_SQL
8) Переношу все данные обменом РИБ
9) Отключаю ПБ_для_SQL от ПБ,Ю подключаю к ЦБ из п. 1)


Сработает такой хитрый план?
16 DenYuliya
 
05.06.18
15:52
к (15)
Похоже, я ошибаюсь, и НачальныйОбраз создается уже с данными.

6) Тогда выгружаю cf из НачальногоОбраза,загружаю cf в заранее подготовленную на SQL базу.

А дальше все как в (15)
17 drumandbass
 
05.06.18
16:29
в своё время делал просто копию, делал ее подчиненной, и все работало, обмен через ftp был, с образами не заморачивался база была 120гб...
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн