powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по Transaction replication
12 сообщений из 12, страница 1 из 1
Вопрос по Transaction replication
    #32008334
Привет всем !!!

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
Вопрос по Transaction replication
    #32008338
Сорри допустил ошибку

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

должно быть

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

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

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

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

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

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

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

Спасибо
...
Рейтинг: 0 / 0
Вопрос по Transaction replication
    #32008425
Вдогонку Ж)
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
Вопрос по Transaction replication
    #32008428
Олег Яговкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Характеристики поля Status?
...
Рейтинг: 0 / 0
Вопрос по Transaction replication
    #32008433
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> 2 Admin зачем делать измение артикла если его нельзя потом изменить

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


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