powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Загадки SQL Remote
4 сообщений из 4, страница 1 из 1
Загадки SQL Remote
    #35937811
VadVad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Asa 10.01 + Sql Remote

Недавно переехали на новую версию с "пятерки". Все хорошо,но появилась
никогда не виданная фича:
Две БД общаются посредством SMTP и один из серверов, после
успешного принятия входящих сообщений "выплевывает" в обратную
сторону ВСЕ команды UPDATE.

Беда получается следующая:
00:00. Пользователь на сервере №1 пишет в табличку значение, скажем 11:
UPDATE tbl1 set Fld1 = 11 where id = 1 ;

00:30 команда честно передается удаленному серверу №2

00:40 успешно принимается на сервере №2:
UPDATE tbl1 set Fld1 = 11 verify (Fld1) values (Null) where id = 1 ;

00:45 Пользователь сервере №1 передумал и пишет в табличку
UPDATE tbl1 set Fld1 = 22 where id = 1 ;

01:00 команда честно передается удаленному серверу №2
UPDATE tbl1 set Fld1 = 22 where id = 1 ;

01:00 а в это время Сервер 2 "отрыгивается" обратно
UPDATE tbl1 set Fld1 = 11 verify (Fld1) values (11) where id = 1 ;

01:10 сервер №1 успешно принимает
UPDATE tbl1 set Fld1 = 11 verify (Fld1) values (11) where id = 1 ;

01:15 бдительный пользователь поднимает шум на предмет
несанкционированных "откатов" данных к предыдущим значениям.

01:10 Сервер №2 принимает:
UPDATE tbl1 set Fld1 = 22 verify (Fld1) values (11) where id = 1 ;

01:30 Сервер №2 "отрыгивает" обратно
и в
01:40 сервер 1 принимает
UPDATE tbl1 set Fld1 = 22 verify (Fld1) values (11) where id = 1 ;
------------------------------------------------------------------------
ИТОГ: c 01:10 по 01:40 в БД1 временно воскресает убитое пользователем значение,
которое может привести к... ну понятно.

Причем если точкой старта являтся сервер2 - то ничего похожего не происходит.
Разницы в свойствах и опциях БД - не обнаружил....

Может кто видел подобное - поделитесь.
...
Рейтинг: 0 / 0
Загадки SQL Remote
    #35938544
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VadVad,

Консолидированная база сервер №2?
Условия подписки на эту таблицу на обоих серверах бы посмотреть + триггеры конфликтов на этой таблице если есть.
Обычные триггеры надеюсь одинаковые
...
Рейтинг: 0 / 0
Загадки SQL Remote
    #35939334
AntonXZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VadVad,

Посмотри, нет ли у тебя update в BEFORE триггерах. Если они есть то Remote прав :
=====================================================
Replication of BEFORE triggers The actions of a BEFORE trigger that modifies a row being updated are replicated before the UPDATE statement actions.

For example, a BEFORE UPDATE trigger that increases a counter column in the row to keep track of the number of times a row is updated would double count if replicated as the BEFORE UPDATE trigger fires on the remote database when the UPDATE statement is replicated.

A BEFORE UPDATE trigger that sets a column to the time of the last update also receives the time the UPDATE statement is replicated.

To prevent this problem, you must ensure that, at the subscriber database, the BEFORE UPDATE trigger is not present or does not perform the replicated action.
=====================================================
...
Рейтинг: 0 / 0
Загадки SQL Remote
    #35941827
VadVad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonXZ,

Отбой.

В качестве эксперимента Установил Asa на другую машину,
скопировал БД, запустил - все нормально, никаких пакостей c
возвратом UPDATE нет.
Похоже Asa как-то криво установлена - будем сносить и ставить
заново.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Загадки SQL Remote
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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