Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с репликациями!!! / 22 сообщений из 22, страница 1 из 1
03.10.2002, 09:51:19
    #32055034
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Сложная ситуация!

Необходимо сделать репликации для следующей ситуации.

Есть два удаленных SQL Server 2000 , которые должны работать с БД на 3-м сервере . Но гарантии на то , что связь будет постоянной нет. Получается , что сервера должны работать с реплицированными данными. Т.е. являются подписчиками. Но в тоже время они имеют право и вносить изменения. Причем, при возобновлении связи сначала должны приняться данные с одного сервера, а затем с другого. Но, при отсутствии связи на втором сервере данные вставлялись в БД вместо того, чтобы редактировать данные поступающие с первого сервера. Помогите как можно это решить с помощью репликации SQL.

Заранее благодарю, Андрей.
...
Рейтинг: 0 / 0
03.10.2002, 10:19:31
    #32055055
Nickolay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Merged replication вас я думаю спасет.
Причем, при возобновлении связи сначала должны приняться данные с одного сервера, а затем с другого. Но, при отсутствии связи на втором сервере данные вставлялись в БД вместо того, чтобы редактировать данные поступающие с первого сервера - здесь может быть прийдется писать свой арбитр конфликтов (Conflict Resolver), если из существующих правил ничего не подойдет...
...
Рейтинг: 0 / 0
03.10.2002, 10:23:12
    #32055059
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Спасибо посмотрю! Я еще чайник , но приходится решать такие проблемы.
...
Рейтинг: 0 / 0
03.10.2002, 10:28:15
    #32055062
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
И еще подскажите хорошую книгу по SQL 2000 c подробным описанием репликаций или примеры решения данных проблем
...
Рейтинг: 0 / 0
03.10.2002, 10:36:05
    #32055070
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
...
Рейтинг: 0 / 0
18.10.2002, 11:15:10
    #32059564
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Так никто ничего дельного не предложил.
Пришлите хоть пример написание собственного Conflict Resolved. Или хотябы ссылку в какой книге искать, а то в книгах Все о том-же "Есть возможность", а далее ....
...
Рейтинг: 0 / 0
18.10.2002, 11:35:14
    #32059577
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
при отсутствии связи на втором сервере данные вставлялись в БД вместо того, чтобы редактировать данные поступающие с первого сервера

3-й сервер - это publisher, так? Первые 2 - подписчики. Если паблишер недоступен, то в простейшем случае (я к этому вопросу еще вернусь) синхронизация данных между подписчиками происходить не будет. Они будут работать автономно, пока не восстановится связь с паблишером. Связь типа "звезда", кажется, так это называется.

В SQL2K для merge репликации введено понятие Alternate Synchronization Partners, что подразумевает возможность подписчиков синхронизировать данные между собой даже при недоступности паблишера. Подробно рассказать не могу, так как пользоваться пока не приходилось. В BOL тема так и называется: "alternate synchronization partners".
...
Рейтинг: 0 / 0
18.10.2002, 11:50:44
    #32059586
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Сервера связаны средствами радио-net. И все данные идут через паблишер. связи напрямую между подписчиками нет.
Может появиться дополнительная линия на модемах по тел.линии но качество линий х....вое. И как долго будет проходить реп-ция не знаю. Поток данных непрерывный.
...
Рейтинг: 0 / 0
18.10.2002, 12:04:39
    #32059593
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Тогда объясните на примере, что означает ваша фраза "при отсутствии связи на втором сервере данные вставлялись в БД вместо того, чтобы редактировать данные поступающие с первого сервера". Прямо на пальцах - insert туда-то, получается то-то; update этого - получаем вот это.
...
Рейтинг: 0 / 0
18.10.2002, 13:46:43
    #32059658
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Есть 2 жд станции. Через одну заходят порожние вагоны. Данные добавляются в БД. Затем на 2 станции вагоны грузят. 2 станция должна видеть данные о порожняке. Если связь обрубается данные о порожняке отсутствуют но погрузка должна продолжаться. При этом записи начинают вставляться (Insert),т.к. программа считает что данных нет. Но на самом деле они появятся после возобновлении связи. И проблема в том что теперь надо слить данные с 1 и 2 станции. От 1 станции пройдет обычная репликация транзакций и после этого репликация со второй станции начнет вставлять записи вместо Edit.
В этом и вся проблема.
...
Рейтинг: 0 / 0
18.10.2002, 14:03:29
    #32059669
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Вот, что-то начало проясняться. Хоть с постановкой задачи разобрались.

обычная репликация транзакций
Кстати, вы с выбором вида репликации уже определились или репликация транзакций - это фраза "от балды"? У меня некоторое предубеждение (оставшееся от SQL 7.0), что там, где данные должны меняться на подписчиках, подходит только merge-репликация. Знаю, что в 2000 это уже не так, но намекнуть на возможность альтернативы все же хочется.

Совет про Conflict Resolver был, как мне кажется, вполне дельный. Применительно к вашей задаче нужно завести поле, которое будет определять, порожняк вставляется или нет, а в самом резолвере в случае конфликта проверять это поле и оставлять победителем того, у кого оно "не порожняк".
...
Рейтинг: 0 / 0
19.10.2002, 08:37:43
    #32059944
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Дело в том, что на 1 станции когда добавляется порожняк вносится время и дата прихода порожняка для расчета простоя. Так что просто выяснить победителя нельзя. Надо оставить поля от 1 станции и дополнить полями со 2 даже если они были вставлены.
...
Рейтинг: 0 / 0
22.10.2002, 11:57:37
    #32060635
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Что-то заглохло с рекомендациями!!!!!!!!
...
Рейтинг: 0 / 0
25.10.2002, 09:21:38
    #32061789
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Но все-же , что делать! Если написать процедуру и подсунуть вместо стандартной в репликации, как долго будет проходить репликация?
...
Рейтинг: 0 / 0
25.10.2002, 10:28:50
    #32061812
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Как напишите процедуру, так и будет работать... По скорости, имеется в виду.

У меня сомнения другого рода. Conflict resolver срабатывает в случае update'а одной и той же ячейки (или строки - зависит от настроек), но не в случае двух insert'ов с одинаковым id. Тут победителем всегда будет publisher. Поправьте меня кто-нибудь, если я ошибаюсь, но мне сейчас просто негде проверить это.

Надо что-то придумывать в самой структуре системы. Попробую после выходных что-нибудь предложить.
...
Рейтинг: 0 / 0
25.10.2002, 19:54:09
    #32062076
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
ИМХО, стандартные механизмы репликации вам не подходят. Нужно придумывать свои собственные, или комбинацию стандартных и своих собственных. Стандартные механизмы ориентированы на синхронизацию данных ТОЛЬКО механизмами репликации, а не иногда так, а иногда сяк .
В собственном механизме вы должны предусмотреть, каким образом Publisher должен узнать, что некоторая сововкупность информации введена вручную, дабы не пытаться передать ее повторно после того, как связь будет восстановлена.
...
Рейтинг: 0 / 0
26.10.2002, 09:34:23
    #32062116
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Почему иногда так, иногда сяк! Программа на погрузочной станции при вводе вагона проверяет его наличие и если его нет добавляет его. Так-что можно сказать , что в идеале на погрузочной станции добавления записей исключено. Вычитал еще про синхронизацию с альтернативным партнером. Понял так: если нет связи, то происходит синхронизация с альтернативным подписчиком. Интересует другое: надежно ли модемное соединение?

Наконец-то нашел где складываются отклоненные update, но не пробывал еще с insert.

Благодарю за общение GreenSunrise и Garya.

Если Вы знаете толковые книги может подскажете!
...
Рейтинг: 0 / 0
26.10.2002, 14:44:12
    #32062136
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Что то мне кажется, что Вы пытаетесь подогнать репликацию под избранный алгоритм... Может проще наоборот, подогнать алгоритм под репликацию слиянием?
Как я понял, основная Ваша проблема - не устойчивая связь. Видимо, сильно не устойчивая, т.е. её может не быть довольно долго, за это время вагоны могут пройти обе станции, загрузиться, простоять, переместиться куда угодно и т.д.
А что Вам мешает, при добавлением информации о поступлении порожняка, кроме проверки, что он ещё не учтён системой, фиксировать кто и когда внёс эту информацию. Далее, уже логика клиента может определять приоритеты и избирать или удалять нужные и не нужные записи.
...
Рейтинг: 0 / 0
30.10.2002, 16:09:31
    #32063215
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
А как указать альтернативного партнера! Написано есть.
...
Рейтинг: 0 / 0
30.10.2002, 16:09:59
    #32063216
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
А как указать альтернативного партнера! Написано есть.
...
Рейтинг: 0 / 0
04.11.2002, 09:13:00
    #32064417
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Уважаемый Гладченко!
Ваше предложение по поводу логики верно ! Но принята должна быть информация и с 1 станции и со 2, т.е разные поля для одного вагона. На счет связи может быть и так как Вы писали . И кроме репликаций придется думать как передать данные (об отправленном маршруте) на 1 станцию при отсутствии связи. Вот я и подумал насчет альтернативного партнера и связываться через модемы. Но судя по сообщениям в форуме репликация через модемы проходит довольно долго.
...
Рейтинг: 0 / 0
15.11.2002, 23:35:12
    #32068576
Shatun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с репликациями!!!
Долго небыл!
Решил при отсутствии связи соединяться по модемам. Вроде бы работает , но реально на реальных данных не пробовал. Всем спасибо пишите!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с репликациями!!! / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]