powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с репликациями!!!
22 сообщений из 22, страница 1 из 1
Помогите с репликациями!!!
    #32055034
Shatun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сложная ситуация!

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

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

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

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

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

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

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

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

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

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

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

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


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