Имя: Пароль:
1C
1C 7.7
v7: Восстановление базы из SQL 1С:Комплексная конфигурация 7.7
0 SamkoAA
 
27.03.15
08:06
Всем доброго времени суток! Кто ни будь сталкивался с восстановление базы из SQL? У нас на сервере вышли из строя жесткие диски, фирма по восстановлению не помогла, остались только архивы SQL, всё остальное было потерянно. Возможно ли каким ни будь способом восстановить данные из того что есть?
1 DCKiller
 
27.03.15
08:06
(0) Да
2 DCKiller
 
27.03.15
08:07
+(1) правда, желательно, чтобы MD и DDS файлы конфигурации были при этом целы...
3 SamkoAA
 
27.03.15
08:08
К сожалению это все что осталось :-(
4 SamkoAA
 
27.03.15
08:13
А если найти MD и DDS в чистой конфигурации, потом на их основе как ни будь создать базу, данные будут или нет?
5 smitru
 
27.03.15
08:24
(4) " данные будут или нет?"
Так в том-то и дело, что сиквельных бэкапах у 7-ки "только данные", а вот сама конфигурация, данные по юзерам, правам и т.д. лежат "отдельно"... Следовательно у тебя будут танцы с бубнами.

Если конфигурация типовая, то танцев меньше, если же переделанная сильно, а эмдэшника нет - танцы будут очень увлекательны.

ПыСы... Млин, админу, который на 7-ке бэкапит только сиквел - руки отрывать нужно "без суда и следствия".
6 SamkoAA
 
27.03.15
08:30
Архивы конфигурации были, кто же мог предположить что вылетят сразу два жестких. SQL это что удалось спасти. Типовая она или нет, сказать не могу. Но то что она не когда в жизни не обновлялась это точно. Блин даже от типовой конфигурации MD и DDS найти уже наверно не реально. В SQL таблицах нашел какая версия стояла: Комплексная релиз 7.70.454, он еще в 2004 году был ((((
7 SamkoAA
 
27.03.15
08:44
Ругать и винить кого то уже не имеет смысла, проблема уже есть. Вопрос в другом есть возможность что то сделать для восстановления и как это сделать
8 ДенисЧ
 
27.03.15
08:55
Ну, если "никогда не обновлялась" - тогда искать MD нужный. И дальше начинать плясать и молиться.
Шансы есть.
9 МихаилМ
 
27.03.15
08:58
я делал так

из md кучи релизов создавал пустые базу.

создавал скрипты базы и пустых

искал наиболее совпадающие.

в  случае обновлений и доработок  номера начинают смещаться. тк новые присваиваются инкрементно.  

искал наиболее совпадающие по типам.


далее создавал недостающие поля показал их пользователям

и выяснял , что за поля и какие доработки были сделаны.

конфигурация была сильно переделана.
работа по подбору конфигурации и сопоставлению не совпавших полей заняла 3 дня
10 ДенисЧ
 
27.03.15
08:58
(9) Поля фигня. А вот код восстановить...
11 МихаилМ
 
27.03.15
09:21
стати мне и  1с8 приходилось так восстанавливать.

там выяснилась другая особенность:

если создавать пустую пазу типовой последовательным применением всех обновлений то структура бд

будет отличаться, если создавать базу пропуская обновления.
те обновлять через несколько обновлений.

сорри за офф топ.
12 SamkoAA
 
27.03.15
09:28
Я так понимаю если найти MD с таким же релизом, создать пустую базу, затем сделать восстановление базы SQL. То может что то получится?
13 ДенисЧ
 
27.03.15
09:30
(12) Может что-то и получиться.
Только нужно будет сравнить струкутры того, что сделается по MD и того, что уже есть.
14 МихаилМ
 
27.03.15
09:30
(12)
да совпадение полей будет, если не было доработок.
15 SamkoAA
 
27.03.15
09:31
Если доработки были? Как быть в такой ситуации?
16 ДенисЧ
 
27.03.15
09:31
(15) Тогда вешаться.
17 SamkoAA
 
27.03.15
09:34
Не хотелось бы этого делать (((. Потеря доработок не столь важна как информация базы, Она не рабочая, мы перешли на 8 версию. Налоговая проверка, нужна только информация хранимая в базе.
18 DCKiller
 
27.03.15
09:38
(14) хе-хе... не факт.
19 vde69
 
27.03.15
09:40
если платить готовы - пишите, почта в личке...
20 МихаилМ
 
27.03.15
10:07
(15)

"Как быть в такой ситуации"
алгоритм описан в (9)

добавлю, что я стал переименовывать поля как в типовых
искал поле с таким же номером и прибавлял к нему 1000000

и так далее.

в результате остались только поля с номером больше 1000000

те после каждого исправления пере создавал скрипт базы.
потом научился пере создавать только скрипт таблицы для быстроты.

при генерации скрипта базы нужно не создавать индексы и пр. тк имена индексов будут рамдомные и споставить тексты скриптов не получится.  

для восьмерки я пошел другим путем тк были уже спец наработки.


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

конфу с полным соответствием по типам всех полей

далее создал новый dbnames , dbchema не повредилась
21 smitru
 
27.03.15
10:19
(19) Бабло как известно всегда побеждает зло. Так и тут.. "Зло" недоработок админа может быть побеждено только лишь баблом.

Правильно? :-)
22 SamkoAA
 
27.03.15
12:24
Может у кого есть MD от комплексной 7.70.454?
23 dk
 
27.03.15
12:44
(22) погоди панику разводить проверь всю сетку на предмет 1cv7.md файлов - может найдешь заветный релиз
24 SamkoAA
 
27.03.15
12:57
Нашел MD от DBF базы нужного релиза, подскажите что надо с ним сделать?
25 dk
 
27.03.15
13:07
1. надо сделать копию всего что сейчас есть
2. кинуть в новую папку md
3. добавить в 1с базу с этой папкой
3.5 сказать что база скульная но настроить пока на пустую скульную базу
4. зайти в конфигуратор
5. загрузить md сам в себя
6. со всем согласиться
7. загрузить скульный бэкап в эту новую базу
8. помолиться
9. попробовать зайти в 1с в режиме предприятия
26 Ёпрст
 
27.03.15
13:09
Есть хоть 1 внешний отчет, созданный в родной базе ?
Из него можно поиметь ид всех табличек базы, соответственно, имена табличек.
27 SamkoAA
 
27.03.15
13:31
Найти могу, что с отчетом делать нужно?
28 Ёпрст
 
27.03.15
13:35
получить из него мэинметадатастрим в удобочитаемом виде, например, гкомпом- поимеешь имена всех табличек в базе.
Далее, из схожего мд-ника получаешь туже структуру - сравниваешь. Далее либо приводишь мд к именам табличек  в sql , либо наеборот, меняешь имена табличек в скуле к мд, что есть.
Далее, сопоставляешь имена полей в табличке, в соответствии с новым словарём, по смыслу.
29 vde69
 
27.03.15
13:38
(28) проще перелить данные скульным экспортом с ручными настройками соответствия полей
30 Ёпрст
 
27.03.15
13:39
(29) один хрен, нужно будет знать, что откуда и куда
:)
поентому, знать хотя бы начальную структуру - необходимо
31 Ёпрст
 
27.03.15
13:39
а так да, экспортом тоже можно
32 vde69
 
27.03.15
13:41
(30) там наглядно виден формат полей, и есть дефолтное связывание.
33 SamkoAA
 
27.03.15
13:47
SQL State: 42000
Native: 2812
Message: [Microsoft][ODBC Server Driver][SQL Server] Не удалось найти хранимую процедуру "sp_dboption".

Это что значит?
34 ДенисЧ
 
27.03.15
13:48
(33) версия скуля не подходит для 77
35 vde69
 
27.03.15
13:49
7.7 без патчей работает на скуле не выше 2000
36 SamkoAA
 
27.03.15
13:49
Она же как то работала на 2008 SQL
37 ДенисЧ
 
27.03.15
13:50
(36) читай (35)
38 Ёпрст
 
27.03.15
13:50
(32) я не об этом.
Новый мд-ник даст новые названия именам табличек
39 Ёпрст
 
27.03.15
13:52
толку то от дефолтного связывания, которое не прокатит, если все таблички будут иметь разные имена ?
40 Ёпрст
 
27.03.15
13:52
или что в sc33 была номенклатура раньше, а сей\час, договора, к примеру..
41 SamkoAA
 
27.03.15
13:53
Наверно надо заменить файлы на серваке
sqlsrv32.dll
sqlsrv32.rll
42 vde69
 
27.03.15
13:53
(38) это понятно, но во первых есть вероятность, что порядок их останется старым, во вторых при ручной настройки там показываются поля доступные по стилю...
43 Ёпрст
 
27.03.15
13:53
(41) не надо ничего менять, нужно поставить секртеный релиз платформы.
44 Ёпрст
 
27.03.15
13:54
(42)ну... это смотря какой древней был изначальный мд..
:)
45 vde69
 
27.03.15
13:54
(44) и смотря как обновляли...
46 SamkoAA
 
27.03.15
13:56
MD я нашел, может и не от этой базы, но точно могу сказать что на основе этого MD были созданы другие базы. Обновляли только рег. отчеты и все
47 vde69
 
27.03.15
13:59
(46) тогда скорее всего названия колонок совпадают
48 SamkoAA
 
27.03.15
14:02
Буду надеется, решу вопрос с подключением SQL, там дальше будет видно
49 SamkoAA
 
27.03.15
14:25
Эта ошибка по прежнему осталась:
SQL State: 42000
Native: 2812
Message: [Microsoft][ODBC Server Driver][SQL Server] Не удалось найти хранимую процедуру "sp_dboption".
50 SamkoAA
 
27.03.15
14:43
SQL State: 25000
Native: 0
Message: [Microsoft][ODBC Server Driver][SQL Server] Недопустимое состояние транзакции.
51 SamkoAA
 
27.03.15
14:43
Теперь это ((((((((((((
52 smitru
 
27.03.15
14:44
(49) "Эта ошибка по прежнему осталась: "

(задумчиво) дЫк спляши хоть гопак, хоть краковяк, но если хранимой процедуры нет, то сама она не появится

Читаем внимательно тут - http://www.gilev.info/search?q=sp_dboption

ПыСы.. Ничего личного.. ничего личного.. ничего такого, чего с кем-нибудь подобного не случалось - не бывает :-)
53 SamkoAA
 
27.03.15
14:49
Эта ошибка по прежнему осталась:
SQL State: 42000
Native: 2812
Message: [Microsoft][ODBC Server Driver][SQL Server] Не удалось найти хранимую процедуру "sp_dboption".

Сетим вопрос закрыт, "sp_dboption" создан с помощю скрипта
54 Ёпрст
 
27.03.15
14:51
55 SamkoAA
 
27.03.15
14:52
Ёпрст спасибо! С этим разобрался
56 SamkoAA
 
27.03.15
15:25
На SQL больше не ругается. Теперь ошибку выдает нарушена структура таблиц.
57 smitru
 
27.03.15
15:29
(56) Возвращаешься и делаешь все сначала
1. надо сделать копию всего что сейчас есть
2. кинуть в новую папку md
3. добавить в 1с базу с этой папкой
3.5 сказать что база скульная но настроить пока на пустую скульную базу
4. зайти в конфигуратор
5. загрузить md сам в себя
6. со всем согласиться
7. загрузить скульный бэкап в эту новую базу
8. помолиться
9. попробовать зайти в 1с в режиме предприятия
58 smitru
 
27.03.15
15:30
(56) или как вариант, решай вопрос с оплатой и обращайся к vde, Дима классный специалист, он действительно может реально помочь.

Удачи
59 Ёпрст
 
27.03.15
15:38
1.разворачиваешь бекап рабочей скульной базы
2.из пустого мд, создаешь новую базу и разворачиваешь её  в скуле
3.из любой обработки, которая точно была сделана в старой базе
достаешь структуру конфы - там будут ид таблиц = имена табличкам в скуле.
4. сравниваешь основные объекты этой структуры с словарём от пустышки.
5. далее, можешь либо подгонять структуру полей в оригинальной базе, либо менять сам мд (если умеешь)
5а. либо через экспорт в самом скуле ставишь в соответствие все таблички и поля и переносишь данные средствами скуля в пустышку.

имеешь из пустышки рабочую базу.
60 SamkoAA
 
27.03.15
15:42
Пустышку запустил на основе MD. Теперь сделать восстановление SQL? Что бы заполнить базу информацией?
61 vde69
 
27.03.15
15:44
(60) нет, теперь скулевым импортом копируешт таблицы из востановленой в пустышку, при импорте вручную надо связывать поля, имена полей в старой и пустышке могут не совпадать...
62 Ёпрст
 
27.03.15
15:49
(60) нет
63 Ёпрст
 
27.03.15
15:50
(61) он не догоняет :)
64 SamkoAA
 
27.03.15
15:51
В SQL есть импорт, при импорте можно смотреть где и какая таблица, думаю смогу связать их
65 smitru
 
27.03.15
15:52
(63) Если таких танцев ранее не исполнял, то ясен пень с кондачка сразу догнать очень сложно.
66 SamkoAA
 
27.03.15
15:53
Придется догонять, что поделать
67 Ёпрст
 
27.03.15
15:59
(64) да, там наглядно будут все таблички и поля, расставлчяешь галочки и привет. вот только , для начала, нужно знать, откуда и куда.. имена даже таблиц могут не совпадать.. и очень конкретно, для этого см (59)
68 SamkoAA
 
28.03.15
07:17
Имена таблиц подгонял как в MD, упирается и выдает ошибки на то что таблицы SQL повреждены. С уверенностью сказать могу что базы SQL полностью рабочие. Что то я не так где то делал.
69 МихаилМ
 
28.03.15
08:03
(68) смотрите в ms sql profiler на какую таблицу ругается (последняя в трассе)
70 SamkoAA
 
28.03.15
08:11
1С сама говорить на что ругается, там таблиц 8 которые ее не устраивают. Пробывал руками строить таблицы, запускает, но к сожалению получается пустой. Вес есть а информации нет (((
71 МихаилМ
 
28.03.15
08:38
сравнивайте с dds . где-то расхождение в типах данных
72 SamkoAA
 
28.03.15
08:40
Попробую
73 vde69
 
28.03.15
09:25
(68) при экспорте могут слететь признак примарикей с поля (и индексированости). проверь...
74 SamkoAA
 
28.03.15
09:28
:-) я не на столько силен в SQL
75 ДенисЧ
 
28.03.15
09:28
(74) в таком случае есть пост (19) )))
76 vde69
 
28.03.15
16:06
кстати у автора в базе из бекапа перемешаны таблицы 7.7 и 8х

рекомендую привести к порядку :)
77 SamkoAA
 
30.03.15
06:26
Каким образом они могли туда попасть?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.