|
|
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Сложная ситуация! Необходимо сделать репликации для следующей ситуации. Есть два удаленных SQL Server 2000 , которые должны работать с БД на 3-м сервере . Но гарантии на то , что связь будет постоянной нет. Получается , что сервера должны работать с реплицированными данными. Т.е. являются подписчиками. Но в тоже время они имеют право и вносить изменения. Причем, при возобновлении связи сначала должны приняться данные с одного сервера, а затем с другого. Но, при отсутствии связи на втором сервере данные вставлялись в БД вместо того, чтобы редактировать данные поступающие с первого сервера. Помогите как можно это решить с помощью репликации SQL. Заранее благодарю, Андрей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2002, 09:51:19 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Merged replication вас я думаю спасет. Причем, при возобновлении связи сначала должны приняться данные с одного сервера, а затем с другого. Но, при отсутствии связи на втором сервере данные вставлялись в БД вместо того, чтобы редактировать данные поступающие с первого сервера - здесь может быть прийдется писать свой арбитр конфликтов (Conflict Resolver), если из существующих правил ничего не подойдет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2002, 10:19:31 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Спасибо посмотрю! Я еще чайник , но приходится решать такие проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2002, 10:23:12 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
И еще подскажите хорошую книгу по SQL 2000 c подробным описанием репликаций или примеры решения данных проблем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2002, 10:28:15 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Так никто ничего дельного не предложил. Пришлите хоть пример написание собственного Conflict Resolved. Или хотябы ссылку в какой книге искать, а то в книгах Все о том-же "Есть возможность", а далее .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2002, 11:15:10 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
при отсутствии связи на втором сервере данные вставлялись в БД вместо того, чтобы редактировать данные поступающие с первого сервера 3-й сервер - это publisher, так? Первые 2 - подписчики. Если паблишер недоступен, то в простейшем случае (я к этому вопросу еще вернусь) синхронизация данных между подписчиками происходить не будет. Они будут работать автономно, пока не восстановится связь с паблишером. Связь типа "звезда", кажется, так это называется. В SQL2K для merge репликации введено понятие Alternate Synchronization Partners, что подразумевает возможность подписчиков синхронизировать данные между собой даже при недоступности паблишера. Подробно рассказать не могу, так как пользоваться пока не приходилось. В BOL тема так и называется: "alternate synchronization partners". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2002, 11:35:14 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Сервера связаны средствами радио-net. И все данные идут через паблишер. связи напрямую между подписчиками нет. Может появиться дополнительная линия на модемах по тел.линии но качество линий х....вое. И как долго будет проходить реп-ция не знаю. Поток данных непрерывный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2002, 11:50:44 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Тогда объясните на примере, что означает ваша фраза "при отсутствии связи на втором сервере данные вставлялись в БД вместо того, чтобы редактировать данные поступающие с первого сервера". Прямо на пальцах - insert туда-то, получается то-то; update этого - получаем вот это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2002, 12:04:39 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Есть 2 жд станции. Через одну заходят порожние вагоны. Данные добавляются в БД. Затем на 2 станции вагоны грузят. 2 станция должна видеть данные о порожняке. Если связь обрубается данные о порожняке отсутствуют но погрузка должна продолжаться. При этом записи начинают вставляться (Insert),т.к. программа считает что данных нет. Но на самом деле они появятся после возобновлении связи. И проблема в том что теперь надо слить данные с 1 и 2 станции. От 1 станции пройдет обычная репликация транзакций и после этого репликация со второй станции начнет вставлять записи вместо Edit. В этом и вся проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2002, 13:46:43 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Вот, что-то начало проясняться. Хоть с постановкой задачи разобрались. обычная репликация транзакций Кстати, вы с выбором вида репликации уже определились или репликация транзакций - это фраза "от балды"? У меня некоторое предубеждение (оставшееся от SQL 7.0), что там, где данные должны меняться на подписчиках, подходит только merge-репликация. Знаю, что в 2000 это уже не так, но намекнуть на возможность альтернативы все же хочется. Совет про Conflict Resolver был, как мне кажется, вполне дельный. Применительно к вашей задаче нужно завести поле, которое будет определять, порожняк вставляется или нет, а в самом резолвере в случае конфликта проверять это поле и оставлять победителем того, у кого оно "не порожняк". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2002, 14:03:29 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Дело в том, что на 1 станции когда добавляется порожняк вносится время и дата прихода порожняка для расчета простоя. Так что просто выяснить победителя нельзя. Надо оставить поля от 1 станции и дополнить полями со 2 даже если они были вставлены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2002, 08:37:43 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Что-то заглохло с рекомендациями!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 11:57:37 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Но все-же , что делать! Если написать процедуру и подсунуть вместо стандартной в репликации, как долго будет проходить репликация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2002, 09:21:38 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Как напишите процедуру, так и будет работать... По скорости, имеется в виду. У меня сомнения другого рода. Conflict resolver срабатывает в случае update'а одной и той же ячейки (или строки - зависит от настроек), но не в случае двух insert'ов с одинаковым id. Тут победителем всегда будет publisher. Поправьте меня кто-нибудь, если я ошибаюсь, но мне сейчас просто негде проверить это. Надо что-то придумывать в самой структуре системы. Попробую после выходных что-нибудь предложить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2002, 10:28:50 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
ИМХО, стандартные механизмы репликации вам не подходят. Нужно придумывать свои собственные, или комбинацию стандартных и своих собственных. Стандартные механизмы ориентированы на синхронизацию данных ТОЛЬКО механизмами репликации, а не иногда так, а иногда сяк . В собственном механизме вы должны предусмотреть, каким образом Publisher должен узнать, что некоторая сововкупность информации введена вручную, дабы не пытаться передать ее повторно после того, как связь будет восстановлена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2002, 19:54:09 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Почему иногда так, иногда сяк! Программа на погрузочной станции при вводе вагона проверяет его наличие и если его нет добавляет его. Так-что можно сказать , что в идеале на погрузочной станции добавления записей исключено. Вычитал еще про синхронизацию с альтернативным партнером. Понял так: если нет связи, то происходит синхронизация с альтернативным подписчиком. Интересует другое: надежно ли модемное соединение? Наконец-то нашел где складываются отклоненные update, но не пробывал еще с insert. Благодарю за общение GreenSunrise и Garya. Если Вы знаете толковые книги может подскажете! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2002, 09:34:23 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Что то мне кажется, что Вы пытаетесь подогнать репликацию под избранный алгоритм... Может проще наоборот, подогнать алгоритм под репликацию слиянием? Как я понял, основная Ваша проблема - не устойчивая связь. Видимо, сильно не устойчивая, т.е. её может не быть довольно долго, за это время вагоны могут пройти обе станции, загрузиться, простоять, переместиться куда угодно и т.д. А что Вам мешает, при добавлением информации о поступлении порожняка, кроме проверки, что он ещё не учтён системой, фиксировать кто и когда внёс эту информацию. Далее, уже логика клиента может определять приоритеты и избирать или удалять нужные и не нужные записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2002, 14:44:12 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
А как указать альтернативного партнера! Написано есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2002, 16:09:31 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
А как указать альтернативного партнера! Написано есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2002, 16:09:59 |
|
||
|
Помогите с репликациями!!!
|
|||
|---|---|---|---|
|
#18+
Уважаемый Гладченко! Ваше предложение по поводу логики верно ! Но принята должна быть информация и с 1 станции и со 2, т.е разные поля для одного вагона. На счет связи может быть и так как Вы писали . И кроме репликаций придется думать как передать данные (об отправленном маршруте) на 1 станцию при отсутствии связи. Вот я и подумал насчет альтернативного партнера и связываться через модемы. Но судя по сообщениям в форуме репликация через модемы проходит довольно долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2002, 09:13:00 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32063215&tid=1818763]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 368ms |

| 0 / 0 |
