Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по Transaction replication / 12 сообщений из 12, страница 1 из 1
26.06.2001, 09:19
    #32008334
Вопрос по Transaction replication
Привет всем !!!

SQL 2000 Stand Edition
Есть 2-а сервера между ними настроена Transaction replication
Сервер С1 издатель ( publisher ) сервер С2 подписчик ( subscriber )
Возникает странная ситуация.

С1
Price | Status
1.5 | 2

после репликации на
C2
Price | Status
1.5 | 2

на С2 периодически, с интервалом в минуту, производится перекачка данных, которая обнуляет поле Status
после перекачки
C2
Price | Status
1.5 | 0

Теперь изменяет поле Price на С1 ( поле Status не изменяется )
С1
Price | Status
2.5 | 2

после репликации получаем на С2
С2
Price | Status
2.5 | 0

Я так понимаю, что посредством репликации достигается идентичность записей на серверах.
В тоже время, издатель не знает, что на подписчике изменилось значение поля Status и видимо по-этому не реплицирует значение поля Status.

Если кто сталкивался, подскажите решение.
Конечно можно настроить merge, написать море триггеров не хочется огород городить.

Спасибо
...
Рейтинг: 0 / 0
26.06.2001, 09:48
    #32008338
Вопрос по Transaction replication
Сорри допустил ошибку

Теперь изменяет поле Price на С1 ( поле Status не изменяется )
С1
Price | Status
2.5 | 2

должно быть

Теперь изменяет поле Price = 2.5 и Status = 2 на С1
С1
Price | Status
2.5 | 2
...
Рейтинг: 0 / 0
26.06.2001, 10:28
    #32008353
Олег Яговкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Transaction replication
Как "выглядит" перекачка данных?
...
Рейтинг: 0 / 0
26.06.2001, 11:17
    #32008358
Вопрос по Transaction replication
Как сохраненная процедура.
Беру из таблицы данные и вставляю, изменяю, удаляю в другой таблице другой базы данных.
Но помоему дело здесь не в этом.
...
Рейтинг: 0 / 0
26.06.2001, 11:53
    #32008363
Alexander Chepack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Transaction replication
Я так понимаю, что посредством репликации достигается идентичность записей на серверах.
----------------------------------------------------------------

Вообще-то реплицируются транзакции, а не записи - хотя интересно на практике проверить. А зачем Вы реплицируете данные, а потом их изменяете на подписчике?
...
Рейтинг: 0 / 0
26.06.2001, 12:06
    #32008365
Олег Яговкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Transaction replication
Данные изменяются на дистрибьюторе для того, чтобы проверить как выглядит поле Status при вторичной репликации (как я понял). Но сдается, надо искать, для начала, почему это поле обнуляется после выполнения хранимой процедуры.
...
Рейтинг: 0 / 0
26.06.2001, 12:12
    #32008367
Олег Яговкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Transaction replication
Вдогонку: т.к. после обнуления поля выполняется репл. транзакции (по обнулению поля), а далее возможно несостыковка по времени ввода записи и работы процедуры (цитирую-"через 1 минуту)
...
Рейтинг: 0 / 0
26.06.2001, 15:03
    #32008387
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Transaction replication
Репликация транзакций в обычном не навороченном виде односторонняя. Для того, чтобы она стала двусторонней, нужно на подписчике использовать queued updating (только для версии 2000, см. BOL). А чем тебе не нравится Merge?
...
Рейтинг: 0 / 0
27.06.2001, 07:45
    #32008421
Вопрос по Transaction replication
Всем спасибо

Поле Status обнуляю я ( процедура перекачки данных ), это типа флага, что запись была изменена.

Я тут подумал и решил перефразировать вопрос.
Проблема в том, что если было
Price | Status
1.5 | 2

и если я делаю UPDATE tbTable SET Price = 2, Status = 2 WHERE conditions
( Значение поля Status не изменилось )
то репликация, почему-то не вносит в транзакцию изменение поля Status ( т.е. на подписчике изменится только Price )

Вопрос, как сделать так, что бы любое изменение даже если видимих изменений не было, участвовало в транзакции.

сорри "участвовало в транзакции" может звучит не корректно, но не придумывается

Спасибо
...
Рейтинг: 0 / 0
27.06.2001, 08:13
    #32008425
Вопрос по Transaction replication
Вдогонку Ж)
2 Admin зачем делать измение артикла если его нельзя потом изменить

2 All
Есть цепочка
Сервер филиал(1) ->(merge) Сервер офис(2) ->(trans) Сервер для мобильных устройств (3)
Перекачиваются записи изза того, что структуры баз данных на (1) отличаются от (3), по причине что любой Pentium работает быстрее ARM.
Поле Status для отлова измененых записей, вставленные и удаленные ловятся без проблем.

2 Garya
Если сделать merge, то изменение одного поля создаст ненужные транзакции на изменение на каждом сервере.
Если сделать queued updating, то возникнет поле ненужное поле в 16kb на всех филиальных серверах.

2 Alexander Chepack
Согласен реплицируются транзакции. Но подписчик это, как я понимаю, образ( копия ) издателя.

Спасибо
...
Рейтинг: 0 / 0
27.06.2001, 08:25
    #32008428
Олег Яговкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Transaction replication
Характеристики поля Status?
...
Рейтинг: 0 / 0
27.06.2001, 08:50
    #32008433
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Transaction replication
> 2 Admin зачем делать измение артикла если его нельзя потом изменить

Изменения возможны до появления нового топика. Увы, у нас порой отвечают очень быстро...
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по Transaction replication / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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