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

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

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

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

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Вадимко 201 08.04.08 00:49 Сейчас в теме
Ни одного камента...
Тут интересом пользуются только медленно работающие желто-зеленые отчеты с большими кнопачкаме?
flex2002; +1 Ответить
2. Valet 56 08.04.08 21:48 Сейчас в теме
Задача специфическая просто. Я только пару раз так извращался и то вручную, благо при изменении базы на распределенную и создании из неё периферийной менять приходится по одной записи. А так материал полезный, особенно для тех кому надо вчера и разбираться в структуре табличек некогда или ломает.
3. Вадимко 201 09.04.08 03:14 Сейчас в теме
Трабла была специфическая, надо было ЭТО сделать имея только эл. почту и человека с удаленным доступом :)
4. Shaman100M 1191 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 1191 10.04.08 18:31 Сейчас в теме
+ (4) При восстановлении из копии другой периферийной базы, все изменения в ней сделанные должны быть предварительно выгружены в центральную.
6. Вадимко 201 10.04.08 21:16 Сейчас в теме
Зачем делать выгрузку?
В том то и прелесть что не нужно!

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

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

Вакансии

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

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

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

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день