0. Вадимко 198 08.04.08 00:49 Сейчас в теме

Как из обычной базы сделать распределенную (SQL)?

Базу в которой уже работали необходимо сделать периферийной и включить в обмен?
Каким-то странным образом повредились/исчезли служебные таблицы?
Нет возможности сделать выгрузку-загрузку большой базы при создании периферийной РБД?

Эта статья поможет решить данные проблемы!

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Вадимко 198 08.04.08 00:49 Сейчас в теме
Ни одного камента...
Тут интересом пользуются только медленно работающие желто-зеленые отчеты с большими кнопачкаме?
flex2002; +1 Ответить
2. Valet 56 08.04.08 21:48 Сейчас в теме
Задача специфическая просто. Я только пару раз так извращался и то вручную, благо при изменении базы на распределенную и создании из неё периферийной менять приходится по одной записи. А так материал полезный, особенно для тех кому надо вчера и разбираться в структуре табличек некогда или ломает.
3. Вадимко 198 09.04.08 03:14 Сейчас в теме
Трабла была специфическая, надо было ЭТО сделать имея только эл. почту и человека с удаленным доступом :)
4. Shaman100M 1189 10.04.08 18:27 Сейчас в теме
Методологию, все-таки можно было изложить кроме самих скриптов, ведь она действительно быстрее реализуется, чем с созданием новой "периферийки" в http://www.infostart.ru/blogs/236/
Причем, восстановить испорченную периферийную базу можно из другой подобной периферийной.
Метод немного отличается от статейного в части синхронизации выгрузок, - сам хотел выложить в качестве статьи, но автор оказался быстрее. :)

1. Делаем копию из центральной/периферийной работоспособной базы.
2. Заменяем файлы/правим таблицы 1sdbset и 1ssystem в соответствии с настройками восстанавливаемой периферийной БД
3. Удаляем файлы/очищаем таблицы 1sdwnlds и 1supdts
4. "Синхронизируем" выгрузку-загрузку данных, для этого:
4.1. При восстановлении из копии центральной БД:
4.1.1. Делаем выгрузку из центральной БД в нашу восстанавливаемую периферийную БД (запись-то по "периферийке" осталась)
4.1.2. Перед загрузкой в нашу "периферийку" немного откорректируем файл 1cv77Chs.dat из поставляемого архива, заменив кусок текста с данными (начинается от строки " {"Constants... и до конца файла) на "блок-пустышку", для оперативного учета:

{"Constants"},
{"References"},
{"Documents"},
{"Deleted References"},
{"Deleted Documents"}}

4.2. При восстановлении из копии другой периферийной БД придется вставить не "пустышку", а текстовый блок с данными обмена для другой периферийной БД, из которой делалась копия. Т.е. из центральной БД в таком случае делаем выгрузку для двух периферийных БД: для оригинала и клона.
4.3. Загружаем архив с модифицированным1cv77Chs.dat в восстановленную периферийную БД.
5. Готово.
5. Shaman100M 1189 10.04.08 18:31 Сейчас в теме
+ (4) При восстановлении из копии другой периферийной базы, все изменения в ней сделанные должны быть предварительно выгружены в центральную.
6. Вадимко 198 10.04.08 21:16 Сейчас в теме
Зачем делать выгрузку?
В том то и прелесть что не нужно!

1. Создаем в центре базу
2. Делаем копию базы (можно скулевскими способами)
3. Выполняем скрипт в копии, подсматривая значения которые появились в центральной

Вот и все
8. Shaman100M 1189 11.04.08 09:45 Сейчас в теме
(6) Ну, она же не первичная, должна быть быстрая и не большая.
7. Вадимко 198 10.04.08 21:18 Сейчас в теме
Думаю что основное время уйдет на копирование mdf :)
Ну и тщательный подсмотр значений...
К тому же объем может быть очень большой и необходимо колдовство... а тут все по-честному
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижневартовск
зарплата от 60 000 руб.
Полный день

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Москва
Полный день