powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Репликация и логическая целостность
7 сообщений из 7, страница 1 из 1
Репликация и логическая целостность
    #32008895
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация примерно следующая: есть таблица T1 (родительская) и таблица T2 (дочерняя). Foreign key, все дела. При репликации передаются изменения, произошедшие в обеих таблицах.
Проблема состоит в том, что "логический объект" - некая вьюха из конкретного родителя и его детей должна быть целостной. Например, делаем insert 5 записей в таблицу T2, которые относятся к одному и тому же родителю в T1. Эта вставка происходит обязательно в транзакции (так нужно по предметной области). Поскольку агент репликации передает изменения не в транзакции (или я ошибаюсь ?), то может получиться, что сначала передадутся 3 записи, а через некоторое время еще 2. Если в этот промежуток вклинится клиент и зачитает вьюху, то будет хреново, потому что логический объект будет неполным. Можно ли как-то выкрутиться из данной ситуации ?
...
Рейтинг: 0 / 0
Репликация и логическая целостность
    #32008897
Peter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AFAIK вы ошибаетесь. Пока транзакция на вставку не завершена, во view не будет видно новых записей (если во view не стоит NOLOCK возле имени таблицы и уровень изоляции не Read Uncommited). А раз не видно записей во view - значит, они не будут реплицированы.
...
Рейтинг: 0 / 0
Репликация и логическая целостность
    #32008899
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не об этом. На конкретной машине вставка завершилась, транзакция прошла успешно, все. Через некоторое время проснется агент репликации и начнет передавать изменения. Важно, чтобы пока ВСЕ изменения не передались, они не стали видны на другой машине.
...
Рейтинг: 0 / 0
Репликация и логическая целостность
    #32008901
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А о какой репликации идет речь? Вот в репликации непосредственно обновляемых подписчиков эта проблема точно отсутствует. Зато присутствуют другие .
...
Рейтинг: 0 / 0
Репликация и логическая целостность
    #32008930
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Merge репликация, но не оговорено, будет запускаться агент время от времени или постоянно обновляемые подписчики. А о каких проблемах во втором случае вы говорите ?
...
Рейтинг: 0 / 0
Репликация и логическая целостность
    #32008936
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Необходимость высокоскоростного и надежного соединения. Если такового нет, то многие распределенные транзакции (на которых и построена репликация непосредственно обновляемых подписчиков) просто не смогут закрепиться. Плюс жуткие тормоза при каждом шевелении данными.
2. ПОНИЖЕННАЯ надежность. При выходе из строя одного из серверов, учствующих в репликации, все остальные тоже не смогут модифицировать данные, поскольку транзакции модификации данных не смогут закрепиться на одном из участвующих в репликации серверов.

Для Merge-репликации оговоренная тобой проблема действительно имеет быть. И она не единственная. Синхронизация действительно идет НЕ в транзакции. Я обнаружил еще одну аналогичную проблему Merge-репликации. Если во время синхронизации передается большой массив информации, и во время передачи вдруг разорвалось соединение, оказывается половина данных перекачено, а половина нет. В результате могут, к примеру, появиться счета или накладные, в которых присутствуют не все позиции (по крайней мере до прошествия полной синхронизации). Действительно, данные, переданные при начале синхронизации, появляются на экранах пользователей до окончания синхронизации, что может привести к принятию неверных решений.
Судя по всему, философского камня, который решал бы все проблемы на все случаи жизни не существует. Иначе был бы только один вид репликации, годящийся на все случаи жизни, а их множество. У каждого вида свои достоинства и свои недостатки. Нужно выбирать для конкретной ситуации тот вид, плюсы которого перевешивают его же недостатки. А избавиться от всех минусов напрочь IMHO не получится.
...
Рейтинг: 0 / 0
Репликация и логическая целостность
    #32008961
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот-вот. Именно эта проблема и встала в полный рост. И что, никто с ней не умеет по-человечески справиться ? У меня есть пара идеек, но они достаточно корявые - типа взведенения неких флажков, проверки старта/финиша агента и т.д.
А более гладких способов нет ?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Репликация и логическая целостность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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