Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Привет всем !!! 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, написать море триггеров не хочется огород городить. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2001, 09:19 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Сорри допустил ошибку Теперь изменяет поле Price на С1 ( поле Status не изменяется ) С1 Price | Status 2.5 | 2 должно быть Теперь изменяет поле Price = 2.5 и Status = 2 на С1 С1 Price | Status 2.5 | 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2001, 09:48 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Как "выглядит" перекачка данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2001, 10:28 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Как сохраненная процедура. Беру из таблицы данные и вставляю, изменяю, удаляю в другой таблице другой базы данных. Но помоему дело здесь не в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2001, 11:17 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, что посредством репликации достигается идентичность записей на серверах. ---------------------------------------------------------------- Вообще-то реплицируются транзакции, а не записи - хотя интересно на практике проверить. А зачем Вы реплицируете данные, а потом их изменяете на подписчике? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2001, 11:53 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Данные изменяются на дистрибьюторе для того, чтобы проверить как выглядит поле Status при вторичной репликации (как я понял). Но сдается, надо искать, для начала, почему это поле обнуляется после выполнения хранимой процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2001, 12:06 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Вдогонку: т.к. после обнуления поля выполняется репл. транзакции (по обнулению поля), а далее возможно несостыковка по времени ввода записи и работы процедуры (цитирую-"через 1 минуту) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2001, 12:12 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Репликация транзакций в обычном не навороченном виде односторонняя. Для того, чтобы она стала двусторонней, нужно на подписчике использовать queued updating (только для версии 2000, см. BOL). А чем тебе не нравится Merge? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2001, 15:03 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Всем спасибо Поле Status обнуляю я ( процедура перекачки данных ), это типа флага, что запись была изменена. Я тут подумал и решил перефразировать вопрос. Проблема в том, что если было Price | Status 1.5 | 2 и если я делаю UPDATE tbTable SET Price = 2, Status = 2 WHERE conditions ( Значение поля Status не изменилось ) то репликация, почему-то не вносит в транзакцию изменение поля Status ( т.е. на подписчике изменится только Price ) Вопрос, как сделать так, что бы любое изменение даже если видимих изменений не было, участвовало в транзакции. сорри "участвовало в транзакции" может звучит не корректно, но не придумывается Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2001, 07:45 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Вдогонку Ж) 2 Admin зачем делать измение артикла если его нельзя потом изменить 2 All Есть цепочка Сервер филиал(1) ->(merge) Сервер офис(2) ->(trans) Сервер для мобильных устройств (3) Перекачиваются записи изза того, что структуры баз данных на (1) отличаются от (3), по причине что любой Pentium работает быстрее ARM. Поле Status для отлова измененых записей, вставленные и удаленные ловятся без проблем. 2 Garya Если сделать merge, то изменение одного поля создаст ненужные транзакции на изменение на каждом сервере. Если сделать queued updating, то возникнет поле ненужное поле в 16kb на всех филиальных серверах. 2 Alexander Chepack Согласен реплицируются транзакции. Но подписчик это, как я понимаю, образ( копия ) издателя. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2001, 08:13 |
|
||
|
Вопрос по Transaction replication
|
|||
|---|---|---|---|
|
#18+
Характеристики поля Status? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2001, 08:25 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32008353&tid=1826355]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 307ms |
| total: | 420ms |

| 0 / 0 |
