Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как устранить конфликты при репликации  [new]
garvy
Member

Откуда: Москва
Сообщений: 801
У меня на 4 площадках (4 SQL сервера) генерят документы, которым надо присваивать номера по двум фирмам. Чтобы избежать ситуаций с дублированием номеров использую такую схему - 2 из них назначены нумераторами, и если присвоение номера происходит не на этом сервере, то программа обращается на соответствующий сервер-нумератор, присваивает номер там, после чего на локальном сервере дает этот же номер. Все бы ничего, но имеется репликация. Поскольку время на сервере-нумераторе и локальном сервере не совпадает - возникает конфликт обновления, который решается в польку сервера нумератора как правило. Поскольку номер там и там то же - то и не страшно. А страшно в итоге, когда пользователь на локальном сервере успевает до сеанса репликации внести еще какие-то изменения в документ. Они могут утеряться. Не подскажете - может кто-то подобную проблему решал. От такого алгоритма надо как-то уйти. Присваивать номера необходимо. Репликация необходима. Можно рассмотреть вопрос добавления префикса площадки конечно же, но это подвязано к бухгалтерии - пока что не хочется такой вариант внедрять. Может какие-то распределенные транзакции замутить? или еще что?
18 ноя 11, 12:05    [11619201]     Ответить | Цитировать Сообщить модератору
 Re: как устранить конфликты при репликации  [new]
andy st
Member

Откуда:
Сообщений: 838
Если каналы связи шибко хорошие, то можно посмотреть в сторону обновляемой транзакционной репликации с немедленным обновлением (immediate updating).
18 ноя 11, 12:23    [11619426]     Ответить | Цитировать Сообщить модератору
 Re: как устранить конфликты при репликации  [new]
garvy
Member

Откуда: Москва
Сообщений: 801
у нас репликация слиянием, я придумал уже алгоритм, в принципе. На сервере - нумераторе завести служебную таблицу куда вписывать присвоенные на другой площадке номера, таки образом резервируя их до следующего сеанса репликации. Сам номер при этом не меняется и конфликта не возникает.
18 ноя 11, 13:52    [11620396]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить